Commit Graph

1677 Commits

Author SHA1 Message Date
Bojidar Marinov
26a51c3c0b
Reimplement for..in range() so that it always results in ints
Fixes #8278, fixup of bfef8de1bc
2017-06-22 20:41:52 +03:00
Pedro J. Estébanez
0b776f9a30 Add atomics for 64-bit integers 2017-06-22 05:29:58 +02:00
Karroffel
40bb90fabd fixed ptrcall cast for const Ref<T>
Some methods require a const Ref<T> argument,
the ptrcall method wrappers cast `void *` to the
apropriate types. The problem is that there is no `Ref(const T *)`
constructor, but since Ref modifies the refcount of a Reference
anyway there's no point in a const version.

The problem is that with a `const T *` constructor call, the
argument gets converted to Variant first and loses all the
reference information, resulting in a null reference as the
argument to the constructor.
2017-06-20 21:38:21 +02:00
dumitru-stama
82d8da2a48 Fixed a string class bug 2017-06-19 20:08:31 -07:00
Thomas Herzog
b6b225f4c5 Merge pull request #8870 from tagcup/pathfollow
Fix PathFollow rotations.
2017-06-19 23:30:40 +02:00
Thomas Herzog
9d67be447a Merge pull request #9274 from vnen/compress-functions
Expose compression functions to GDScript
2017-06-19 22:59:24 +02:00
George Marques
5c779c574a
Add compression support for File object 2017-06-19 16:38:37 -03:00
George Marques
af7d590206
Add basic compression functions to PoolBaseArray 2017-06-19 16:38:10 -03:00
d
053a4fdcd9 Added two new methods to 3.0 'blend_rect_mask' and 'fill' 2017-06-18 11:29:37 -07:00
Juan Linietsky
5c6cac4e53 Add normalmap support for drawing in all low level primitives. Only added support in Sprite so far. 2017-06-17 23:27:42 -03:00
George Marques
b1537da605 Merge pull request #9231 from dumitru-stama/constimg
Fixed a bug in get_pixel not being const
2017-06-16 22:09:26 -03:00
Juan Linietsky
b19225bfce -Fix freezes caused by etccomp2, closes #9183
-Normalmaps are now detected and imported as RGTC, both in S3TC and ETC2, this improves their quality.
2017-06-16 21:49:37 -03:00
dumitru.stama
7787700aca Fixed a bug in get_pixel not being const 2017-06-16 17:29:05 -07:00
Rémi Verschelde
3fadbe2172 Merge pull request #9201 from vnen/rename-extensions
Rename Godot-specific resource extensions
2017-06-16 13:01:10 +02:00
Marc Gilleron
4dbe0967d5 Fixed memory leaks
- PoolVector leak
- mesh_remove_surface leak
2017-06-16 02:39:16 +02:00
George Marques
e42d59f01e
Rename Godot-specific resource extensions 2017-06-15 21:35:20 -03:00
Rémi Verschelde
43a84429ff doc: Sync classref with current source
Tried to salvage what I could of the Image and InputEvent changes.
2017-06-15 20:52:51 +02:00
Rémi Verschelde
4f8d9f0915 Merge pull request #9177 from tagcup/gcc5_isinf
Use inline code for isinf with gcc versions <6.
2017-06-15 20:46:10 +02:00
Jakub Grzesik
8ff5e50513 Ability to get a list of signals that are targeting object 2017-06-15 15:32:30 +02:00
Ferenc Arn
cd1e14b1da Use inline code for isinf as a workaround for libstdc++ versions from gcc 5.x era.
Fixes #9166.
2017-06-14 18:30:22 -05:00
Rémi Verschelde
108d8bcfc0 Merge pull request #9157 from capnm/fix-https-request
Don't append standard ports to the request header.
2017-06-14 23:15:38 +02:00
Rémi Verschelde
19017a760c Merge pull request #9158 from Hinsbart/script_templates
Add ability to use custom script templates.
2017-06-14 23:11:41 +02:00
Rémi Verschelde
a91b62e4c7 Merge pull request #9175 from bd339/iss9156
Correct Image::blit_rect
2017-06-14 22:46:10 +02:00
Rémi Verschelde
c769a38c07 Merge pull request #9155 from kubecz3k/check-process-type
Ability to check if we are in fixed thread, solves: #3698
2017-06-14 17:21:54 +02:00
Benjamin Dahse
075997c563 Rewrite Image::blit_rect to use the following algorithm:
1. Let r1 be the source rectangle clipped against the entire source image rectangle.
2. Let r2 be r1 offset by p_dest, clipped against the entire destination image rectangle.
3. Copy pixels from r1 to r2.
2017-06-14 15:56:58 +02:00
Juan Linietsky
a8e845a474 Merge pull request #8548 from tagcup/etc2comp
Add ETC1/ETC2 compression support though etc2comp.
2017-06-13 19:17:13 -03:00
Martin Capitanio
5cabe5f0fc Don't append standard ports to the request header.
Breaks the SSL communication with some servers,
do the same that the other curl, wget, firefox & co clients do.

Fixes #9146
2017-06-13 22:58:23 +02:00
Andreas Haas
8361b1ce07 Add ability to use custom script templates.
Templates will be loaded from .godot/script_templates
For now they're disabled for GDNative.

Ideas for further improvements:

- Add a "Save as Template" option to the script editor, as it can normally only save to res://
- Support more placeholders / custom placeholders
2017-06-13 20:03:08 +00:00
kubeczek
a81b706e09 Fixed thread check, solves: #3698 2017-06-13 17:49:28 +02:00
Ferenc Arn
98261e2df2 Expose zstd and zlib compression levels as global config. 2017-06-11 20:27:07 -05:00
Juan Linietsky
12b2652ecb Merge pull request #9104 from tagcup/zstd
Add zstd compression support.
2017-06-11 18:41:56 -03:00
Zher Huei Lee
9ecdf522bd Added EditorPlugin.remove_import_plugin()
Allows addons with import extensions to clean up properly on
removal.
2017-06-11 17:18:22 +08:00
alexholly
935f730170 renamed all Rect3.pos to Rect3.position 2017-06-09 15:54:02 +02:00
Ferenc Arn
f177c15347 Add zstd compression support.
zstd has much better compression speed and ratio, and better decompression speed than currently available methods.
Also set zstd as the default compression method for Compression as well as FileAccessCompressed functions.
2017-06-08 23:48:14 -05:00
Juan Linietsky
612ab8fcdb -Restored multithread capability to VisualServer
-Restored resource previews!
2017-06-09 00:24:18 -03:00
Poommetee Ketson
fcaddeccbb
Fix build error, commit bee81d5 2017-06-08 12:48:59 +07:00
Rémi Verschelde
b52466f793 Merge pull request #9002 from Hinsbart/key_action_match
InputEvent: Restore old behaviour for matching key events to actions.
2017-06-08 07:43:18 +02:00
Rémi Verschelde
bee81d5214 Merge pull request #8981 from toger5/addedGrowFunction
implemented grow(left,top,right,bottom) function
2017-06-08 07:41:54 +02:00
Rémi Verschelde
71ada5bc2c Merge pull request #9015 from mcanders/mcanders/ParseObjectVariantFix
Fix Variant::OBJECT token parsing
2017-06-07 07:51:32 +02:00
toger5
66b308925c added grow functions to Rect2
- grow_individual
 - grow_margin
2017-06-05 01:11:00 -07:00
Carter Anderson
0a8de39bb1 Fix Variant::OBJECT token parsing 2017-06-04 21:33:09 -07:00
alexholly
a3c90b0293 renamed all Rect2.pos to Rect2.position 2017-06-04 02:09:17 +02:00
Andreas Haas
9bc5348961
InputEvent: Renamed "pos" property to "position"
Make the naming consistent with other classes.
2017-06-03 11:26:39 +02:00
Rémi Verschelde
5a6d4971e1 Merge pull request #8973 from thomas-goerlich/8957_rand_range_bugfix
Fixed rand_range not returning correct random values on windows
2017-06-03 08:44:07 +02:00
Rémi Verschelde
59322d4cc4 Merge pull request #9011 from karroffel/ptrcall-nightmare-fix
fixed PowerState enum cast
2017-06-01 09:42:05 +02:00
Ferenc Arn
6a9c990da7 Add ETC1/ETC2 compression support though etc2comp.
Remove rg-etc1 code. Also updated travis to use ubuntu 14.04.

Fixes #8457.
2017-05-31 18:59:00 -05:00
Juan Linietsky
a134f58fb3 rewritten PBR implementation to make it friendlier with Blender 2017-05-31 20:29:56 -03:00
Karroffel
6bda2876f1 fixed PowerState enum cast
Quite a while ago I made a commit (131631b) where I did a weird
thing to fix compilation with PTRCALL_ENABLED. And I couldn't
sleep because of this after all these months. So here is the
proper version.
2017-06-01 00:16:33 +02:00
Ferenc Arn
a1c8896d9d Fix PathFollow rotations.
Used parallel transport to move the object along the curve. Also introduced a few more math checks useful for debugging.
2017-05-31 13:58:31 -05:00
Andreas Haas
c218390864
InputEvent: Restore old behaviour for matching key events to actions.
Original code in 9100db7
2017-05-30 22:27:55 +02:00
Juan Linietsky
5567e898d1 Several fixes related to PBR and Environment 2017-05-30 08:56:19 -03:00
Thomas Görlich
2c6449c4fc Changed enum to const because enum with uint64 size does not work on VSC++ Compiler 2017-05-29 23:56:21 +02:00
Poommetee Ketson
ff03d846eb NaturalSort: strings start with . treated differently 2017-05-29 09:59:02 +07:00
Juan Linietsky
bb20f230ad -Added .hdr format support
-Added default environment editor setting
-Added environment created by default in new projects
-Removed default light and ambient from spatial editor, to make the editor more PBR compliant
2017-05-28 21:48:05 -03:00
Rémi Verschelde
378ebffb23 Merge pull request #8936 from Hinsbart/fix_action
Fix InputEvent actions.
2017-05-27 11:29:05 +02:00
Andreas Haas
3204befd1e
Fix InputEvent actions.
The `InputEvent::is_action(pressed|released)` methods weren't implemented yet.
Also fixed a typo in `InputDefault` that prevented `Input.is_action(pressed|released)` from working.
2017-05-27 10:52:57 +02:00
Juan Linietsky
f89641907f -Added EXR supprot for HDR (no BC6 compression yet though)
-Improvements to texture importer
-Proper detection of S3TC compression modes, and added all modes to Image
-Fixes to non-power of 2 compressed textures, which should all be supported by GLES3
2017-05-26 22:31:32 -03:00
Andreas Haas
3744d9fd55
Fix virtual methods in InputEventKey.
This fixes a lot of problems with key input in the engine.
2017-05-25 21:56:54 +02:00
Juan Linietsky
7c89e00d46 Merge pull request #8590 from tagcup/s3tc_stuff
Use libsquish to decompress DXT textures.
2017-05-25 16:29:04 -03:00
Rémi Verschelde
7592c2380d Merge pull request #8898 from vnen/screentouch-struct-class
Change InputEventScreenTouch from struct to class
2017-05-25 08:40:27 +02:00
George Marques
452caf3f80
Change InputEventScreenTouch from struct to class 2017-05-24 16:06:07 -03:00
Martin Capitanio
29c5b4c7e6 Fix 2D-editor mouse wheel zoom (x11).
Fixes #8888
2017-05-24 10:02:43 +02:00
Juan Linietsky
afcce9eb12 -Fix the "set_val" call deferred, it was the only one.. closes #8742
-Removed redundant bind in input_event
2017-05-23 09:06:22 -03:00
Juan Linietsky
6161e731d0 fixed crash on code that checks InputEvent 2017-05-23 08:13:11 -03:00
Rémi Verschelde
ce51138b38 Merge pull request #8786 from bojidar-bg/fix-astar-weight-scale
Fix weigth scale of A* being applied to the whole estimation
2017-05-22 15:16:20 +02:00
Bojidar Marinov
bd91730347
Fix weigth scale of A* being applied to the whole path and estimation
Attempt to fix #8584
2017-05-22 15:55:49 +03:00
Ferenc Arn
e4eb093c62 Avoid overestimating the cost in AStar heuristics.
This is a necessary condition for finding optimal solutions.
This is achieved by simply requiring/ensuring that no weights are smaller than 1.

Fixes #8584.
2017-05-21 15:13:09 -05:00
Juan Linietsky
5b3709d309 Removal of InputEvent as built-in Variant type..
this might cause bugs I haven't found yet..
2017-05-20 17:05:38 -03:00
Rémi Verschelde
c7650c363b Merge pull request #8829 from supagu/astar-bidirectional
Added bool to allow astar points to be connected in one direction only
2017-05-20 09:49:28 +02:00
Emmanuel Leblond
abcb044bf3
Finish implementation of GDnative builtins bindings 2017-05-19 23:28:15 +02:00
Fabian Mathews
2262a59ab3 Added bool to allow astar points to be connected in one direction only 2017-05-19 20:46:45 +09:30
Ferenc Arn
3c175115eb Use libsquish to decompress DXT textures. 2017-05-18 16:57:53 -05:00
Rémi Verschelde
1f62c33141 Merge pull request #8807 from RandomShaper/mq-flush-reentrant
Make MessageQueue::flush() reentrant
2017-05-18 18:52:55 +02:00
Rémi Verschelde
c2854381b3 Merge pull request #8649 from neikeq/pr-ringbuffer-find
RingBuffer: Adds find() method
2017-05-18 13:42:56 +02:00
Pedro J. Estébanez
983fd3a7bb Make MessageQueue::flush() reentrant 2017-05-18 13:02:49 +02:00
Rémi Verschelde
c3baf5eb3c Fix two typos from previous commit
Also cleanup comments on variant types.
2017-05-17 18:45:56 +02:00
Juan Linietsky
98a3296702 Removal of Image from Variant, converted to a Resource. 2017-05-17 07:37:45 -03:00
Damian Day
f2564ca97f Fix natural sorting order in EditorFileDialog, FileDialog and EditorFileSystemDirectory
Make EditorFileDialog, FileDialog and EditorFileSystemDirectory alphanumerical sorting more natural

Added a new method 'naturalnocasecmp_to' and comparator 'NaturalNoCaseComparator' to String.

Fixes #8712.
2017-05-12 13:02:25 +01:00
Marcelo Fernandez
bba8f1db30 Fixed the IP resolver code blocking the main thread, it uses a Mutex now to lock its own thread. 2017-05-08 21:30:48 +02:00
toger5
304a1f5b5a Implemented scrolling factor for smooth trackpad scrolling
Working platforms platform: OSX, Windows.
Support for almost all ui elements, including project list.
2017-05-07 14:23:56 +02:00
Rémi Verschelde
18df047f0b Merge pull request #8658 from Faless/explain_out_of_mem_msg_queue_master
Better explain out of memory error in message queue
2017-05-05 23:09:30 +02:00
Rémi Verschelde
e58519eb31 Merge pull request #8642 from RandomShaper/fix-pack-get-curr-dir
Fix infinite loop in DirAccessPack::get_current_dir()
2017-05-05 23:02:07 +02:00
Fabio Alessandrelli
1a7aafa90d Better explain out of memory error in message queue
Also effectively saves one unnecessary call when everything is fine.
2017-05-05 19:56:54 +02:00
Ignacio Etcheverry
803a54d93c RingBuffer: Adds find() method 2017-05-05 02:09:43 +02:00
Pedro J. Estébanez
5c0188b5c3 Fix infinite loop in DirAccessPack::get_current_dir() 2017-05-04 02:20:53 +02:00
Rémi Verschelde
7ce8342ac5 Rename project file to "project.godot"
Slimmed down variant from the reverted #8375.
The rationale behind the name change is to give Godot's project file a unique
extension (".godot") that can be registered on the OS to be associated with
the Godot binary (OS registration not implemented here).

This PR also adds the possibility to start the game or editor if launched
with the project.godot passed as argument, which paves the way for allowing
a similar behaviour on a double-click in the OS file manager (code originally
by @Hinsbart).

Closes #6915.
2017-05-01 17:50:19 +02:00
Rémi Verschelde
de7eba887e Merge pull request #8572 from akien-mga/thirdparty
Moving more thirdparty stuff (minizip, some single-file external libs) to the thirdparty directory
2017-04-29 22:57:49 +02:00
Juan Linietsky
6d2f985db4 Revert "Use .godot as file extension for project files." 2017-04-29 17:56:51 +02:00
Rémi Verschelde
d4029aa51a Move other lone thirdparty files to thirdparty/misc
Also move Box2D ConvexDecomposition contrib code to
thirdparty/b2d_convexdecomp.
2017-04-28 21:19:25 +02:00
Rémi Verschelde
c5f830d6b9 Split thirdparty smaz.c out of compressed_translation.cpp
Code comes from 150e125cba/smaz.c

With a small modification to match Godot expectations:
```
diff --git a/thirdparty/core/smaz.c b/thirdparty/core/smaz.c
index 9b1ebc2..555dfea 100644
--- a/thirdparty/core/smaz.c
+++ b/thirdparty/core/smaz.c
@@ -14,7 +14,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 #include <string.h>

 /* Our compression codebook, used for compression */
-static char *Smaz_cb[241] = {
+static const char *Smaz_cb[241] = {
 "\002s,\266", "\003had\232\002leW", "\003on \216", "", "\001yS",
 "\002ma\255\002li\227", "\003or \260", "", "\002ll\230\003s t\277",
 "\004fromg\002mel", "", "\003its\332", "\001z\333", "\003ingF", "\001>\336",
@@ -89,7 +89,7 @@ static char *Smaz_rcb[254] = {
 "e, ", " it", "whi", " ma", "ge", "x", "e c", "men", ".com"
 };

-int smaz_compress(char *in, int inlen, char *out, int outlen) {
+int smaz_compress(const char *in, int inlen, char *out, int outlen) {
     unsigned int h1,h2,h3=0;
     int verblen = 0, _outlen = outlen;
     char verb[256], *_out = out;
@@ -167,7 +167,7 @@ out:
     return out-_out;
 }

-int smaz_decompress(char *in, int inlen, char *out, int outlen) {
+int smaz_decompress(const char *in, int inlen, char *out, int outlen) {
     unsigned char *c = (unsigned char*) in;
     char *_out = out;
     int _outlen = outlen;
@@ -192,7 +192,7 @@ int smaz_decompress(char *in, int inlen, char *out, int outlen) {
             inlen -= 2+len;
         } else {
             /* Codebook entry */
-            char *s = Smaz_rcb[*c];
+            const char *s = Smaz_rcb[*c];
             int len = strlen(s);

             if (outlen < len) return _outlen+1;
diff --git a/thirdparty/core/smaz.h b/thirdparty/core/smaz.h
index a547d89..a9d8a33 100644
--- a/thirdparty/core/smaz.h
+++ b/thirdparty/core/smaz.h
@@ -14,7 +14,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 #ifndef _SMAZ_H
 #define _SMAZ_H

-int smaz_compress(char *in, int inlen, char *out, int outlen);
-int smaz_decompress(char *in, int inlen, char *out, int outlen);
+int smaz_compress(const char *in, int inlen, char *out, int outlen);
+int smaz_decompress(const char *in, int inlen, char *out, int outlen);

 #endif
```
2017-04-28 21:19:24 +02:00
Rémi Verschelde
2398eb6ed4 Move core thirdparty files to thirdparty/{minizip,misc} 2017-04-28 21:19:23 +02:00
Andreas Haas
c530d8f43c
Fix recognition of resource extensions.
Also removes a related debug print.
2017-04-26 23:07:23 +02:00
volzhs
ec1c7ce6c3 Fix wrong fallback for locale 2017-04-26 04:48:03 +09:00
Rémi Verschelde
1dc689b513 Merge pull request #8506 from iam13islucky/patch-1
[3.0] Fix bug in Image::_get_pixelb
2017-04-24 12:02:10 +02:00
Rémi Verschelde
bd885ed704 Merge pull request #8469 from Melix19/patch-2
Update snake_case splitting
2017-04-24 11:38:36 +02:00
Rémi Verschelde
68870af214 Merge pull request #8420 from magyar123/pr-script-files-as-base
Added the ability to select files as base when creating scripts
2017-04-24 11:28:36 +02:00
Rémi Verschelde
5ae1e172da Merge pull request #8277 from tagcup/math_checks
Added various functions basic math classes. Also enabled math checks …
2017-04-24 11:16:20 +02:00
iam13islucky
73a9a85bc9 [3.0] Fix bug in Image::_get_pixelb
Fixes issue:
 https://github.com/godotengine/godot/issues/8158
2017-04-23 22:51:35 -06:00
Marco Melorio
4677c0fbb8 Update snake_case splitting 2017-04-23 23:03:16 +02:00
Rémi Verschelde
515f92d03b Fix property warnings and hide some debug prints
"ALL IS GOOD" was a lie.

In particular, removes verbose "path not recognized" false positive.

The actual logic is to (somewhat naively) check all ResourceFormatLoaders
and to pick the first good match, so no need to warn about the formats
that do not match the type hint.
2017-04-23 11:17:32 +02:00
Rémi Verschelde
99529fb80d Move VERSION_MKSTRING logic to version.h
Fixes a bug where the VERSION_PATCH define is not yet in scope if
typedefs.h is included before version.h at compilation time.

(cherry picked from commit 3b687c5474)
2017-04-20 12:14:34 +02:00
Rémi Verschelde
22b9c0207b Merge pull request #8417 from neikeq/hello-there
External editor improvements and fixes
2017-04-20 02:20:04 +02:00
Marco Melorio
1ac38846e8 Fixed that playing the project opens the project manager
Fixes #8445
2017-04-18 15:46:37 +02:00
Rémi Verschelde
7088d9e30f Merge pull request #8441 from tagcup/seed_fix
Fix PRNG randomization.
2017-04-18 00:06:41 +02:00
Rémi Verschelde
474f18512a Merge pull request #8375 from Hinsbart/project_extension
Use .godot as file extension for project files.
2017-04-17 23:28:15 +02:00
Ferenc Arn
ceb699f5ec Fix PRNG randomization.
PCG32 doesn't like small seeds, which leads to zero random values (prior to #7532, zero values were handled as special cases).

Use a large default seed, and also add a shift in Math::randomize.

Fixes #8423.
2017-04-17 14:05:02 -05:00
Ignacio Etcheverry
4b8568006d External editor improvements and fixes
Notable changes:

- Now ScriptLanguages have the option to override the global external editor setting.
If `ScriptLanguage::open_in_external_editor()` returns `ERR_UNAVAILABLE` (which it does by default), then the global external editor option will be used.
- Added formatting to the external editor execution arguments. Now it's possible to write something like this: `{project} -g {file}:{line}:{col}`.
- `VisualScript::get_member_line()` now can return the line of functions (well, it returns the id of the _Function_ node of the function). I guess there is nothing else we can get a "line" from.

Fixes:

- Fixes a bug where `ScriptEditor::script_goto_method()` would not work if the script is not already open in the built-in editor.
- Fixes wrong DEFVAL for `cursor_set_column` and `cursor_set_line` in TextEdit.
- `Script::get_member_line()` now returns -1 ("found nothing") by default.
2017-04-17 01:51:30 +02:00
Andreas Haas
c06a2db63a
Use .godot as file extension for project files.
Now project files don't have to be named "godot.cfg" anymore, they can have any name so as long as it ends with *.godot.
Also godot will automatically start the editor now if launched with a project file as an argument.
This allows for double-clicking of projects to open them :)

Code-wise this should be complete, but there's still work to do:

- Make a nice icon for godot projects.
- Work on installers/packaging -> register the extension and icon with godot.
- Update the 2.1 to 3.0 exporter.

Tested on linux and windows so far.
2017-04-16 10:19:07 +02:00
mbalint12
a3afec588c Added the ability to select files as base when creating scripts 2017-04-15 23:29:09 +02:00
Hein-Pieter van Braam
8ff6e53833 Correct Variant::hash_compare()
There was a logic error in #7815 which made
Variant.hash_compare() == Variant.hash_compare() always true.
In an attempt to short-circuit the NaN check I made an (in hindsight) obvious
error: 10 == 12 || is_nan(10) == is_nan(12)

This will be true for all inputs, except for the NaN, not-NaN case. The macro
has been updated to now generate:

(10 == 12) || (is_nan(10) && is_nan(10))

so:

(10 == 12)   || (is_nan(10)  && is_nan(12))  = false
   False  or (False and False) is False
(10 == 10)   || (is_nan(10)  && is_nan(10))  = true
   True or (False and False) is True
(Nan == 10)  || (is_nan(NaN) && is_nan(10))  = false
   False or (True and False) is False
(Nan == Nan) || (is_nan(NaN) && is_nan(NaN)) = true
   False or (True and True) is True

Which is correct for all cases.

This bug was triggered because the hash function for floating point numbers
can very easily generate collisions for the tested Vector3(). I've also added
an extra hashing step to the float hash function to make this less likely to
occur.

This fixes #8081 and probably many more random weirdness.
2017-04-14 11:31:18 +02:00
Bojidar Marinov
c37840c69f
Fix a pesky bug in marshalls.cpp/encode_variant
Fixes #7556 running game from editor on LLVM builds.
2017-04-11 20:17:56 +03:00
Sergey Pusnei
8589ca3903 Rename [gs]et_pos to [gs]et_position for Controls
Control set_pos -> set_position
Control set_global_pos -> set_global_position
[gs]et_mouse_pos -> [gs]et_mouse_position
[gs]et_global_mouse_pos -> [gs]et_global_mouse_position
fixes #8005
2017-04-10 08:27:34 +02:00
Rémi Verschelde
f29dc079dc Merge pull request #8333 from touilleMan/classdb-class_sget_property-binding
Add _ClassDB.class_[g|s]et_property to ClassDB exposed methods
2017-04-09 17:46:35 +02:00
Emmanuel Leblond
42eba57bad
Add return value in ClassDB.class_[g|s]et_property bindings 2017-04-09 14:04:01 +02:00
Emmanuel Leblond
23c310be7b
Add _ClassDB.class_[g|s]et_property to ClassDB exposed methods 2017-04-09 13:27:07 +02:00
Juan Linietsky
4286aef693 Particle system is complete. Rejoice! 2017-04-08 22:40:06 -03:00
Rémi Verschelde
df61dc4b2b Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
Juan Linietsky
74808ac4d9 New particle system, mostly working, some small features missing. 2017-04-06 23:49:27 -03:00
Ferenc Arn
9a37ff1e34 Added various functions basic math classes. Also enabled math checks only for debug builds.
Added set_scale, set_rotation_euler, set_rotation_axis_angle. Addresses #2565 directly.
Added an euler angle constructor for Basis in GDScript and also exposed is_normalized for vectors and quaternions.
Various other changes mostly cosmetic in nature.
2017-04-06 13:03:56 -05:00
Rémi Verschelde
1a33d5e06f Merge pull request #8286 from Hinsbart/memleaks
Core: fix possible memory leaks.
2017-04-06 14:34:21 +02:00
Andreas Haas
a2734df7ed
Core: fix possible memory leaks. 2017-04-06 13:43:13 +02:00
Rémi Verschelde
2c4e4432af Merge pull request #8214 from tagcup/bounce_reflect_slide
Made slide and reflect active verbs acting on itself in Vector2 and V…
2017-04-05 01:23:09 +02:00
Rémi Verschelde
46bc14e66f Merge pull request #8246 from GodotNativeTools/dlscript-module
DLScript module
2017-04-04 00:25:03 +02:00
Karroffel
fd55308786 added dlscript module
This module was written by bojidar-bg and me, with the help of ClikCode and touilleMan.

This adds a module to Godot that enables the use of dynamic libraries as a source for scripts.
That also allows third party libraries to be linked to Godot more easily and without creating modules.

For a readme see https://github.com/GodotNativeTools/godot_headers/blob/master/README.md
2017-04-03 17:20:11 +02:00
Ferenc Arn
1a620bd5fa Made slide and reflect active verbs acting on itself in Vector2 and Vector3.
This is in alignment with other functions in vector classes.
Also added checks for normalization, fixed the sign of reflect (which now corresponds to reflection along a plane mathematically), added bounce method and updated docs.

Fixes #8201.
2017-04-03 10:02:12 -05:00
Karroffel
67f59bc2d9 increased maximum number of scripting languages 2017-04-03 16:10:26 +02:00
Rémi Verschelde
5b09dde3fe Merge pull request #8146 from supagu/astar
Added ability to change A-star cost function
2017-04-03 13:52:59 +02:00
Fabian Mathews
b541402417 Added ability to change A-star cost function 2017-04-01 16:36:22 +10:30
Karroffel
2281942fb3 Added methods for opening dynamic libraries to OS 2017-03-29 23:05:15 +02:00
Ferenc Arn
97d510531a Fix polar decomposition in 2D.
When performing polar decomposition in 2D as B = R.S, where R is rotation (with determinant +1) and S is scaling, use the convention that reflections are absorbed into S through a reflection around y axis.
In 3D, this is done by using a reflection along all three axes, but since the dimensionality is even in 2D, one axis needs to be chosen.

Fixes Matrix32::get_rotation and Matrix32::get_scale (which weren't properly fixed in #7445).
2017-03-29 12:04:49 -05:00
Rémi Verschelde
5cad9147f9 Merge pull request #8133 from Hinsbart/joy_constants
Input: Refactor JOY_* constants.
2017-03-24 22:53:16 +01:00
Rémi Verschelde
60a9debb99 Merge pull request #8132 from tagcup/vector3_angle_to
Use atan2 rather than acos in Vector3.angle_to.
2017-03-24 22:52:46 +01:00
Rémi Verschelde
beba97c0c3 Merge pull request #8122 from tagcup/axis_check_normalization
Explicitly documented that Transform.basis is not necessarily an orth…
2017-03-24 22:51:27 +01:00
Rémi Verschelde
98baec6880 Merge pull request #8109 from RandomShaper/warped-panning
Implement warped mouse panning for 2D & 3D editors
2017-03-24 22:50:39 +01:00
Rémi Verschelde
ca3596b043 Merge pull request #8098 from bojidar-bg/configfile-get-value-suppress
Suppress error messages when using ConfigFile::get_value and a default is given
2017-03-24 22:49:50 +01:00
Rémi Verschelde
296ece2c6a Merge pull request #7985 from Faless/enet_godot_sock_squash
Update ENet to use Godot sockets.
2017-03-24 22:47:18 +01:00
Rémi Verschelde
debeee56f7 Fix typos in source code using codespell
From https://github.com/lucasdemarchi/codespell
2017-03-24 21:45:31 +01:00
Andreas Haas
0d8f5660f6
Input: Refactor JOY_* constants.
**Breaking change**

Removed the `JOY_SNES_*` and `JOY_SEGA_*` constants. Imho there's no reason for a modern game engine to provide button aliases for decades-old hardware.
Also renamed `JOY_ANALOG_{0,1}_{X,Y}` to `JOY_ANALOG_{L,R}{X,Y}` and removed `JOY_ANALOG_2_*`.
2017-03-24 18:04:36 +01:00
Ferenc Arn
3730e0533c Use atan2 rather than acos in Vector3.angle_to.
Fixes #8111.
2017-03-24 12:03:33 -05:00
Fabio Alessandrelli
5f681d0b0f Allow non blocking UDP put_packet in C++.
- Add blocking mode option to PacketPeerUDP.
- put_packet returns ERR_UNAVAILABLE when operation would block.
- ENet module uses non-blocking UDP.
2017-03-24 02:30:11 +01:00
Ferenc Arn
6bb9b58b09 Explicitly documented that Transform.basis is not necessarily an orthogonal matrix.
Also added a check that in axis-angle rotations, axis is a normalized vector, and modified the docs accordingly.

Fixes #8113.
2017-03-23 12:27:00 -05:00
Pedro J. Estébanez
f5004b78d0 Implement warped mouse panning for 2D & 3D editors
Enabled by default as in Blender, but can be disabled separately for 2D & 3D;
the core functionality is in Input so this could be reused or even exposed to scripts in the future
2017-03-22 21:36:52 +01:00
Bojidar Marinov
927d15b815
Suppress error messages when using ConfigFile::get_value and a default is given
Fixes #8097
2017-03-21 19:56:54 +02:00
Andreas Haas
a69e449782
Input: bind parse_input_event()
When using get_tree().input_event(ev), the engine will JUST send the event down the SceneTree.
However, you won't get any of the benefits of the Input singleton:
- No InputMap actions will be emitted
- The internal input state won't be modified, so methods like `Input.get_mouse_pos()` or `Input.is_joy_button_pressed` won't return the expected output after sending the event.

This is fixed by using `Input.parse_input_event(ev)` instead.
I guess we'll also have to update the docs to reflect that this is the preferred method of sending custom InputEvents.
2017-03-19 09:20:44 +01:00
Karroffel
6ab3213a55 fixed ClassDB inconsistencies
fixes #7960
2017-03-13 21:17:31 +01:00
Rémi Verschelde
5dbf1809c6 A Whole New World (clang-format edition)
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?

I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon

A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format

A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
2017-03-05 16:44:50 +01:00
Rémi Verschelde
45438e9918 Style: prevent bogus macro formatting by clang-format
Also prevent formatting of thirdparty snippet
2017-03-05 16:29:53 +01:00
Karroffel
1531f6fe01 really fixed PTRCALL now 2017-03-05 16:20:20 +01:00
Rémi Verschelde
f4fb19d11a Merge pull request #7958 from karroffel/powerstate-ptrcall-fix
Added PowerState casting operator to Variant
2017-03-05 15:48:06 +01:00
Rémi Verschelde
e1c1d7d1d7 Add a bunch of missing Godot headers in own files 2017-03-05 15:47:28 +01:00
Karroffel
15838f3702 Added PowerState casting operator to Variant
Without it Godot does not build with PTRCALL_ENABLED
2017-03-05 15:32:16 +01:00
Rémi Verschelde
e6952cad3a Merge pull request #7950 from RandomShaper/expose-more-geom
Expose uncapped versions of closest-point-to-segment utilities
2017-03-05 12:04:23 +01:00
Pedro J. Estébanez
0e0b6ec443 Expose uncapped versions of closest-point-to-segment utilities 2017-03-04 23:02:27 +01:00
Julian Murgia
94103c0c02 Add API to access battery power state
Done:
- X11, server (tested)
- Windows (developed, would be nice to retest)
- OSX (not tested)
Prepared (not developed):
- Android (code is here, but may not compile)
- iphone
- winrt
- bb10
- haiku
- javascript
2017-03-04 18:04:29 +01:00
Rémi Verschelde
de530c1b23 Merge pull request #7940 from RandomShaper/expose-geometry
Expose Geometry::get_closest_point_to_segment_2d()
2017-03-04 17:00:34 +01:00
Pedro J. Estébanez
eaa6433b3b Expose Geometry::get_closest_point_to_segment_2d() 2017-03-04 01:55:12 +01:00
Rémi Verschelde
74eace2b14 Merge pull request #7911 from RandomShaper/single-field-prop-edit
Implement single-field property change for multinode edit
2017-03-02 11:47:11 +01:00
Pedro J. Estébanez
1e867cb9d4 Implement single-field property change for multinode edit 2017-03-02 10:42:05 +01:00
Rémi Verschelde
ee53f85bea Merge pull request #7882 from AlexHolly/PoolStringArray-join
added join to PoolStringArray
2017-03-02 08:00:28 +01:00
Leandro Motta Barros
0e5863c86a Fix RANDOM_MAX, which is 2^32-1 with PCG32. 2017-03-01 14:33:45 -03:00
AlexHolly
9f7ce79ea3 added join to PoolStringArray 2017-03-01 16:30:34 +01:00
Rémi Verschelde
a1cbe8e22b Merge pull request #7878 from RebelliousX/else
Bunch of missing `else` statements and general logic
2017-02-28 23:03:10 +01:00
Saracen
5e938f0001 Inf and NaN support added to GDScript. 2017-02-28 21:52:33 +00:00
Thaer Razeq
f50488a361 Various fixes detected using PVS-Studio static analyzer.
- Add FIXME tags comments to some unfixed potential bugs
- Remove some checks (always false: unsigned never < 0)
- Fix some if statements based on reviews.
- Bunch of missing `else` statements
2017-02-28 07:52:02 -06:00
Rémi Verschelde
9c2542cf26 Merge pull request #7830 from volzhs/str-format-3
Fix zero padding formatting
2017-02-26 20:15:10 +01:00
Juan Linietsky
de0045cf1b -renamed globals.h to global_config.cpp (this seems to have caused a few modified files)
-.pck and .zip exporting redone, seems to be working..
2017-02-21 00:06:30 -03:00
volzhs
b8e58b2b7b Fix zero padding formatting 2017-02-18 00:20:05 +09:00
Hein-Pieter van Braam
b696beea65 Correct hash behavior for floating point numbers
This fixes HashMap where a key or part of a key is a floating point
number. To fix this the following has been done:

* HashMap now takes an extra template argument Comparator. This class
gets used to compare keys. The default Comperator now works correctly
for common types and floating point numbets.

* Variant implements ::hash_compare() now. This function implements
nan-safe comparison for all types with components that contain floating
point numbers.

* Variant now has a VariantComparator which uses Variant::hash_compare()
safely compare floating point components of variant's types.

* The hash functions for floating point numbers will now normalize NaN
values so that all floating point numbers that are NaN hash to the same
value.

C++ module writers that want to use HashMap internally in their modules
can now also safeguard against this crash by defining their on
Comperator class that safely compares their types.

GDScript users, or writers of modules that don't use HashMap internally
in their modules don't need to do anything.

This fixes #7354 and fixes #6947.
2017-02-16 18:44:29 +01:00
Juan Linietsky
da11d6d9e8 Many fixes to make exported scenes work better, still buggy. 2017-02-15 08:34:02 -03:00
Juan Linietsky
d7fd86d51a -begin of export work, not done yet
-fixes to make scenes exported from godot 2.x work
2017-02-15 08:30:32 -03:00
Juan Linietsky
04a6d2789e Revert "Make nan==nan true for GDScript" 2017-02-14 17:05:16 -03:00
Hein-Pieter van Braam
adcc211feb Make nan==nan true for GDScript
After discussing this with Reduz this seemed like the best way to
fix #7354. This will make composite values that contain NaN in the same
places as well as the same other values compare as the same.

Additionally non-composite values now also compare equal if they are
both NaN. This breaks IEEE specifications but this is probably what most
users expect. There is a GDScript function check for NaN if the user
needs this information.

This fixes #7354 and probably also fixes #6947
2017-02-14 13:32:23 +01:00
Hein-Pieter van Braam
411ee71b4d Rename the _MD macro to D_METHOD
This new name also makes its purpose a little clearer

This is a step towards fixing #56
2017-02-13 12:50:02 +01:00
Hein-Pieter van Braam
0f687f0ccb Remove use of _SCS from ADD_METHOD
This saves typing and is a step towards fixing #56
2017-02-13 10:37:47 +01:00
Rémi Verschelde
70b9aa379d Merge pull request #7581 from Faless/v6_wild_bind
TCP/UDP listen bind to address and bugfixes
2017-02-12 23:31:40 +01:00
Rémi Verschelde
70fff42df5 Merge pull request #7749 from Faless/fix_7697
HTTPClient properly handle partial data in non-blocking mode
2017-02-12 23:18:59 +01:00
Rémi Verschelde
5ce18cbdb9 Merge pull request #7743 from karroffel/json_parsing-3.0
JSON::parse reports errors on open-ended objects (master)
2017-02-12 23:17:08 +01:00
Nuno Donato
6b5c595e40 Added "Scots" locale name, fixing #7630 2017-02-08 14:54:28 +00:00
Fabio Alessandrelli
833994b294 HTTPClient properly handle partial data in non-blocking mode
Use block to send DVector::Write out of scope in
HTTPClient::read_response_body_chunk()
2017-02-07 11:01:53 +01:00
Juan Linietsky
6bfaa0f12c shadows were not working in-editor for nvidia, fixed now 2017-02-06 20:18:35 -03:00
Karroffel
d5071a940d JSON::parse reports errors on open-ended objects 2017-02-06 19:34:34 +00:00
Juan Linietsky
6f2e16306a Several bugfixes, improving the import workflow 2017-02-06 00:38:39 -03:00
Juan Linietsky
af3fabeb77 Ensure proper config version when reading the new configuration file. 2017-02-04 21:02:52 -03:00
Juan Linietsky
102b5fce85 Renamed engine.cfg to godot.cfg, to forcefully break compatibility with 2.x 2017-02-04 20:53:55 -03:00
volzhs
e3cf472651 Match ERROR_QUERY_FAILED enum with others 2017-02-02 21:15:47 +09:00
Rémi Verschelde
40e4c1f6ab Merge pull request #7689 from eska014/webgl2
Enable WebGL2 in web export, start fixing build
2017-02-02 08:18:42 +01:00
Rémi Verschelde
a506898137 Merge pull request #7681 from karroffel/classdb_type
corrected ClassDB::instance() return type
2017-02-02 08:15:43 +01:00
Rémi Verschelde
af6d59eed6 Merge pull request #7649 from Faless/fix_input_master
Keyboard Input modifiers do not block actions.
2017-02-02 08:07:47 +01:00
Juan Linietsky
b3aebcf6df CSV translation import plugin 2017-02-01 20:41:05 -03:00
Juan Linietsky
2cd2ca7bbc Lot of work in new importer, importing textures now works. 2017-02-01 09:46:36 -03:00
eska
e06edc67c0 Enable WebGL2 in web export, start fixing build
Will not yet compile
2017-02-01 10:21:04 +01:00
Karroffel
a7b1f9ee5a corrected ClassDB::insatnce() return type 2017-01-30 14:13:13 +01:00
Juan Linietsky
96de0141cc Removed import/export system, will start new one from scratch. 2017-01-25 21:57:08 -03:00
Fabio Alessandrelli
9100db7b94 Keyboard Input modifiers do not block actions.
This means, if you press "F" while holding "shift" and there is and
action registered for "F" that action should be pressed.
This commit restore this behaviour, lost when implementing
is_action_just_pressed.
If you want "blocking modifiers" you should code it via script.

Fixes 6826
2017-01-25 21:21:19 +01:00
Rémi Verschelde
831d9b925a Merge pull request #7563 from RayKoopa/extended_list_dir_begin
Add parameters to Directory.list_dir_begin() to skip navigational or hidden entries
2017-01-25 20:22:34 +01:00
Ilija Boshkov
1005a56e5a Added focus tracking in X11 and Windows classes, added new confined mouse mode (#7162) 2017-01-25 19:21:41 +01:00
Juan Linietsky
4c28f35b2c Merge pull request #7002 from RandomShaper/vcs-friendliness
Greater VCS friendliness
2017-01-25 14:52:40 -03:00
Juan Linietsky
7e1afeafd4 Audio bus editing is COMPLETE! 2017-01-25 14:31:52 -03:00
Ray Koopa
1ce9bbc8ed Added parameters to skip hidden and/or navigational file system entries 2017-01-24 21:07:02 +01:00
Juan Linietsky
87bb6cdc6f Ability to drag and drop around audio effects! 2017-01-24 00:19:31 -03:00
Juan Linietsky
3b019bf644 Ability to delete, drag and drop audio buses! 2017-01-23 23:12:41 -03:00
Juan Linietsky
2527566ca8 Merge pull request #7621 from Hinsbart/modified_time
Add ClassDB binding for File.get_modified_time
2017-01-23 22:07:02 -03:00
Andreas Haas
5ec0610c60
Add ClassDB binding for File.get_modified_time
Closes #7613
2017-01-23 22:33:58 +01:00
Fabio Alessandrelli
88a56ba783 Remove set_ip_type from network classes (no longer needed)
- TCP:
  - `listen` bind to wildcard "*" -> dual stack socket
  - `listen` bind to address -> socket from address type
  - `connect` -> resolve using best protocol (UNSPEC), socket from address type

- UDP:
  - `listen` bind to wildcard "*" -> dual stack socket
  - `listen` bind to address -> socket from address type
  - `put_packet`/`put_var` -> resolve using TYPE_ANY (UNSPEC), socket from address type
    (to change socket type you must first call `close` it)
2017-01-23 20:18:22 +01:00
Fabio Alessandrelli
2fe4ef6699 Implement UDP listen bind address 2017-01-23 20:18:18 +01:00
Fabio Alessandrelli
b2839343ca Implement TCP Server bind address 2017-01-23 20:15:20 +01:00
Fabio Alessandrelli
4198291cd4 IP_Address can now be a wildcard (not a valid IP, used for binding) 2017-01-23 20:15:20 +01:00
Fabio Alessandrelli
98a7e2b4e0 Convert validity checks of IP_Address to is_valid method. 2017-01-23 20:15:20 +01:00
Juan Linietsky
0aa7242624 WIP new AudioServer, with buses, effects, etc. 2017-01-21 19:01:00 -03:00
Juan Linietsky
ee0f53df52 Merge pull request #7528 from tagcup/real_t_float_fixes
Use real_t rather than float or double in generic functions (core/mat…
2017-01-20 19:24:49 -03:00
BastiaanOlij
d11a4c1120 Some changes in the header so Godot3 compiles again on Windows. 2017-01-18 21:55:47 +11:00
karroffel
fb16f09b15 updated method_ptrcall.h to use 3.0 naming 2017-01-17 11:36:17 +01:00
Ferenc Arn
6f4f9aa6de Overloaded basic math funcs (double and float variants). Use real_t rather than float or double in generic functions (core/math) whenever possible.
Also inlined some more math functions.
2017-01-16 13:36:33 -06:00
Rémi Verschelde
d13f2f9e25 Merge pull request #7560 from volzhs/issue-7555
Fix crash when creating new project
2017-01-16 20:10:34 +01:00
Rémi Verschelde
bf05dab74f Merge pull request #7532 from tagcup/pcg_prng
Replace the existing PRNG (Xorshift31) with (minimal) PCG-32.
2017-01-16 20:06:54 +01:00
volzhs
57350faee4 Fix crash when creating new project 2017-01-17 03:50:42 +09:00
Pedro J. Estébanez
7dbb1c0571 Improve .tscn VCS
Serialize dictionaries adding newlines between key-value pairs
Serialize group lists also with newlines in between
Serialize string properties escaping only " and \ (needed for a good diff experience with built-in scripts and shaders)

Bonus:
Make AnimationPlayer serialize its blend times always sorted so their order is predictable in the .tscn file.

This PR is back-compat; won't break the load of existing files.
2017-01-16 18:03:51 +01:00
BastiaanOlij
cef0ae5d5d Fix compile errors related to audio on OSX 2017-01-16 20:32:44 +11:00
Rémi Verschelde
2a0ddc1e89 Style: Various fixes to play nice with clang-format 2017-01-16 08:49:52 +01:00
Rémi Verschelde
f44ee891be Style: Fix statements ending with ';;' 2017-01-16 08:49:52 +01:00
Rémi Verschelde
e2a3f06f3d Style: Keep long lines for now
clang-format does not play well with tab-aligned multiline statements...
Some more research will be needed if we want to set a column limit.
2017-01-16 08:48:24 +01:00
Rémi Verschelde
40323407df Style: No break before list brace
clang-format does not handle that well *at all*.

For the reference, found the relevant pieces of code with:
`ag "=[ "$'\t'"]?"$'\n'"[ "$'\t'"]?{" --ignore=thirdparty`
2017-01-16 08:48:24 +01:00
Rémi Verschelde
3890256fc5 Style: Cleanups, added headers, renamed files
Made sure files in core/ and tools/ have a proper Godot license header
when written by us. Also renamed aabb.{cpp,h} and object_type_db.{cpp,h}
to rect3.{cpp,h} and class_db.{cpp,h} respectively.

Also added a proper header to core/io/base64.{c,h} after clarifying
the licensing with the original author (public domain).
2017-01-16 08:04:23 +01:00
Ferenc Arn
4c9004671a Replace the existing PRNG (Xorshift31) with (minimal) PCG (XSH-RR variant with 32-bit output, 64-bit state).
PCG is better than many alternatives by many metrics (see www.pcg-random.org) including statistical quality with good speed.
2017-01-15 19:15:16 -06:00
Juan Linietsky
b400c69cd4 Oops! Audio engine has vanished :D 2017-01-15 16:07:51 -03:00
Rémi Verschelde
e0faf8a51b Style: Cosmetic fixes to play nice with clang-format 2017-01-15 16:42:17 +01:00
Rémi Verschelde
5e13a762ec Add missing map.h include in color defs 2017-01-15 12:51:47 +01:00
Geequlim
c8e9937e21 Fix error while JSON::parse with empty string 2017-01-15 16:59:02 +08:00
Juan Linietsky
5dde810aa5 no more errors related to missing GlobalConfig::Get (or so I hope) 2017-01-14 21:57:22 -03:00
Rémi Verschelde
d4eb8ec884 Merge pull request #7127 from BastiaanOlij/ios_meters
Core motion implementation for iPhone (Accelerometer/Gyro/Magnetometer support)
2017-01-15 00:08:46 +01:00
Rémi Verschelde
8d3aedeefd MethodBind: Make sure header order is kept
When clang-format sorts includes alphabetically, MethodBind breaks.
Trying to move the object.h include upward in method_bind.h does
not seem to fix the problem, this needs investigation.
2017-01-14 22:07:28 +01:00
Rémi Verschelde
52666b88b3 Merge pull request #7525 from neikeq/pr-plus_file
String: plus_file(String) no longer adds a root
2017-01-14 19:53:35 +01:00
Wilhem Barbier
54b20874b6 Fix _Directory::get_current_drive error condition 2017-01-14 18:47:06 +01:00
Ignacio Etcheverry
95396067b7 String: plus_file(String) no longer adds a root 2017-01-14 18:18:44 +01:00
Rémi Verschelde
ce99286362 Merge pull request #7524 from neikeq/pr-dir-getcurdrive
Directory: Bind get_current_drive() method
2017-01-14 17:22:06 +01:00
Ignacio Etcheverry
0b2ae7313b Directory: Bind get_current_drive() method 2017-01-14 17:20:16 +01:00
Juan Linietsky
7c4167de64 Merge pull request #7010 from AlexHolly/format-string2
advanced string format
2017-01-14 11:56:24 -03:00
Juan Linietsky
dcb95ec147 removed duplicated functions in class hierarchy that were bound more than once
added a check to detect this case in the future
2017-01-14 11:10:42 -03:00
Rémi Verschelde
93ab45b6b5 Style: Fix whole-line commented code
They do not play well with clang-format which aligns the `//` part
with the rest of the code block, thus producing badly indented commented code.
2017-01-14 14:52:23 +01:00
Juan Linietsky
78e90ac60b Unexpose the video mode API, will be completely removed when multi-window support is implemented. 2017-01-14 10:06:15 -03:00
Juan Linietsky
da4170540c Fixed dir access return value, changed it to Error like all other funcs 2017-01-14 09:17:15 -03:00
Juan Linietsky
6c512b88c2 UDP.set_send_address to UDP.set_dest_address 2017-01-14 00:54:21 -03:00
Juan Linietsky
d9d77291bc rename String.extension() -> String.get_extension() / String.basename() -> String.get_basename() 2017-01-14 00:51:09 -03:00
Juan Linietsky
6e88b1096a Vector2.get_aspect() renamed to Vector2.aspect() to keep consistent method naming 2017-01-13 20:00:43 -03:00
Juan Linietsky
a97551902e rename Input.get_mouse_speed() to Input.get_last_mouse_speed() 2017-01-13 19:24:28 -03:00
Rémi Verschelde
d2aae675e9 Replace Engine version API by preexisting OS one
It outputs a single Dictionary with all relevant information as
keys, that will less bloat the documentation and provide all details
in one function call.
2017-01-13 18:25:49 +01:00
Juan Linietsky
e53c247cb1 Created new Engine singleton, and moved engine related OS functions to it. 2017-01-13 12:51:14 -03:00
Juan Linietsky
ad224295c0 made math functions inlnie 2017-01-12 08:55:42 -03:00
BastiaanOlij
5e4dcb3b7f Added support for getting gravity vector from iOS 2017-01-12 16:37:27 +11:00
Juan Linietsky
c84d618b4e Made InputEvent use floating point coordinates. 2017-01-12 00:12:54 -03:00
Juan Linietsky
bfef8de1bc More efficient iteration syntax, and range() is converted behind the scenes to it. 2017-01-11 20:10:23 -03:00
Juan Linietsky
f698e2be4f Proper inheritance checking when requesting theem resources 2017-01-11 18:29:59 -03:00
Juan Linietsky
b7d69c2444 Added a BACK notification besides QUIT, so they go in separate channels. 2017-01-11 16:42:31 -03:00
Juan Linietsky
7bf4b592f8 using VariantParser to parse engine.cfg 2017-01-11 16:42:31 -03:00
Juan Linietsky
e6583117df Both Array and Dictionary are always in shared mode (removed copy on write). 2017-01-11 08:54:17 -03:00
Rémi Verschelde
57166cd292 Merge pull request #7093 from bojidar-bg/named-colors
Add named colors to GDScript/Visual Script/core.
2017-01-11 10:36:15 +01:00
Juan Linietsky
bc26f90581 Type renames:
Matrix32 -> Transform2D
	Matrix3 -> Basis
	AABB -> Rect3
	RawArray -> PoolByteArray
	IntArray -> PoolIntArray
	FloatArray -> PoolFloatArray
	Vector2Array -> PoolVector2Array
	Vector3Array -> PoolVector3Array
	ColorArray -> PoolColorArray
2017-01-11 00:52:51 -03:00
Juan Linietsky
710692278d Merge pull request #7426 from m4nu3lf/bugfix/physics
Fixed inertia tensor computation and center of mass
2017-01-10 22:27:32 -03:00
Juan Linietsky
6671670e81 Merge pull request #7445 from tagcup/2d_math_fixes
Various corrections in 2D math.
2017-01-10 22:25:45 -03:00
Juan Linietsky
0acd4fccd5 Merge pull request #7438 from tagcup/matrix3_rotate_fix
Fix the order in which additional transformations are applied
2017-01-10 22:22:56 -03:00
Juan Linietsky
4338c90163 It is now possible to name layers of different kinds! 2017-01-10 22:20:57 -03:00
Ferenc Arn
f271591ac2 Various corrections in 2D math.
This is the follow up for the 2D changes mentioned in PR #6865. It fixes various mistakes regarding the order of matrix indices, order of transformation operations, usage of atan2 function and ensures that the sense of rotation is compatible with a left-handed coordinate system with Y-axis pointing down (which flips the sense of rotations along the z-axis). Also replaced float with real_t, and tried to make use of Matrix32 methods rather than accessing its elements directly.

Affected code in the Godot code base is also fixed in this commit.

The user code using functions involving angles such as atan2, angle_to, get_rotation, set_rotation will need to be updated to conform with the new behavior. Furthermore, the sign of the rotation angles in existing 2D scene files need to be flipped as well.
2017-01-10 10:14:20 -06:00
Rémi Verschelde
0507f87de9 Merge pull request #7491 from BastiaanOlij/tools-no-fixes
Few small fixes so tools=no and target=release compiles
2017-01-10 15:31:03 +01:00
Rémi Verschelde
82ea31e42a Merge pull request #7490 from touilleMan/issue-7481
Remove deprecated Vector2.floorf method
2017-01-10 15:30:41 +01:00
Rémi Verschelde
9856843717 Merge pull request #7462 from karroffel/error_code
expose OS.set_exit_code and OS.get_exit_code to ClassDB
2017-01-10 15:29:39 +01:00
BastiaanOlij
bf990b0822 Few small fixes so tools=no and target=release compiles 2017-01-10 21:42:14 +11:00
Emmanuel Leblond
0fbf3b990d Remove deprecated Vector2.floorf method 2017-01-10 09:11:36 +01:00
Juan Linietsky
a503f8aadc Groundbreaking!! Godot resources can now be flagged to be local to the scene being edited!
This means that each time this scene is instanced, the resource will be unique!
As such, thanks to this, the following features were implemented:
-ButtonGroup is no longer a control, it's now a resource local to the scene
-ViewportTexture can be created from the editor and set to any object, making ViewportSprite and other kind of nodes obsolete!
2017-01-10 01:07:03 -03:00
Juan Linietsky
1f8451001d -Translation text will change automatically for in-game buttons, labels, poups when translation is changed.
-Added a NOTIFICATION_TRANSLATION_CHANGED for controls that need custom code
-Sorry, editor will not update automatically because it uses a different translatio method.
2017-01-09 16:43:44 -03:00
Juan Linietsky
e9bb65db81 -All types have editable script now in properties
-Changed clip to a property in Control which can be set by the user
2017-01-09 15:50:59 -03:00
Juan Linietsky
62273e51a2 Moved JSON functions to built-in to_json, parse_json, validate_json 2017-01-08 22:40:00 -03:00
m4nu3lf
2e38b32e0f Fixed inertia tensor computation and center of mass 2017-01-09 00:13:54 +00:00
Juan Linietsky
fdc3380cf6 Remove XML format, as promised, for 3.0 2017-01-08 21:12:19 -03:00
Juan Linietsky
13cdccf23b Variant INT and REAL are now 64 bits (other types remain at 32) 2017-01-08 20:58:39 -03:00
Rémi Verschelde
8b7a86ec7b Move tests again from core to main
As advised by @reduz, as tests depend on other libs.
2017-01-08 21:33:37 +01:00
Juan Linietsky
10938e8bb9 Made Variant::NIL printable as "Null". Please everyone be on the lookout of bugs related to assigning an empty variant to a string, and expecting it to be not empty! 2017-01-08 17:23:04 -03:00
Juan Linietsky
547a57777b renamed joystick to joypad everywhere around source code! 2017-01-08 17:06:33 -03:00
Juan Linietsky
0a59c3c3a6 Dictionary keys are now sorted by insertion order 2017-01-08 14:17:04 -03:00
Ferenc Arn
6b1252cdfa Fix the order in which additional transformations are applied in Matrix3 and Transform.
This is a part of the breaking changes proposed in PR #6865, solving the issue regarding the order of affine transformations described in #2565. This PR also fixes the affected code within Godot codebase. Includes improvements to documentation too.

Another change is, Matrix3::get_scale() will now return negative scaling when the determinant of the matrix is negative. The rationale behind this is simple: when performing a polar decomposition on a basis matrix M = R.S, we have to ensure that the determinant of R is +1, such that it is a proper rotation matrix (with no reflections) which can be represented by Euler angles or a quaternion.

Also replaced the few instances of float with real_t in Matrix3 and Transform.

Furthermore, this PR fixes an issue introduced due to the API breakage in #6865. Namely Matrix3::get_euler() now only works with proper rotation matrices. As a result, the code that wants to get the rotation portion of a transform needs to use Matrix3::get_rotation() introduced in this commit, which complements Matrix3::get_scaled(), providing both parts of the polar decomposition.

Finally, it is now possible to construct a rotation matrix from Euler angles using the new constructor Matrix3::Matrix3(const Vector3 &p_euler).
2017-01-08 10:36:14 -06:00
Rémi Verschelde
ede36aca8d i18n: Add support for Scots (sco) language
Fixes #6931.
2017-01-08 16:48:30 +01:00
Rémi Verschelde
790f629e5e Move core engine tests to core/ 2017-01-08 14:08:18 +01:00
Juan Linietsky
8b912d1115 -Fix bugs related to PoolVector crashes
-Added ability to request nodes using $Name in GDScript :)
2017-01-08 02:04:53 -03:00
Juan Linietsky
2ab83e1abb Memory pool vectors (DVector) have been enormously simplified in code, and renamed to PoolVector 2017-01-07 18:26:38 -03:00
karroffel
fbfcc981d9 exposed OS.set_exit_code and OS.get_exit_code to ClassDB 2017-01-07 18:55:48 +01:00
Juan Linietsky
53ce643e52 -Changed memory functions, Memory::alloc_static*, simplified them, made them aligned to 16
-Changed Vector<> template to fit this.
2017-01-06 10:15:44 -03:00
Juan Linietsky
0f7af4ea51 -Changed most project settings in the engine, so they have major and minor categories.
-Changed SectionedPropertyEditor to support this
-Renamed Globals singleton to GlobalConfig, makes more sense.
-Changed the logic behind persisten global settings, instead of the persist checkbox, a revert button is now available
2017-01-05 09:16:00 -03:00
Juan Linietsky
9e477babb3 -GDScript support for accessing properties directly
-Added code lookup and code completion support for properties too
2017-01-04 17:37:45 -03:00
Juan Linietsky
76c2e8583e Merge branch 'master' of https://github.com/godotengine/godot 2017-01-04 01:17:41 -03:00
Juan Linietsky
b085c40edf -Conversion of most properties to a simpler syntax, easier to use by script
-Modified help to display properties

GDScript can still not make use of them, though.
2017-01-04 01:16:14 -03:00
Ferenc Arn
bd7ba0b664 Use right handed coordinate system for rotation matrices and quaternions. Also fixes Euler angles (XYZ convention, which is used as default by Blender).
Furthermore, functions which expect a rotation matrix will now give an error simply, rather than trying to orthonormalize such matrices. The documentation for such functions has be updated accordingly.

This commit breaks code using 3D rotations, and is a part of the breaking changes in 2.1 -> 3.0 transition. The code affected within Godot code base is fixed in this commit.
2017-01-03 17:41:04 -06:00
Juan Linietsky
3fae505128 Begin modifying properties to make them more friendly to script and doc. 2017-01-03 00:38:16 -03:00
Juan Linietsky
118eed485e ObjectTypeDB was renamed to ClassDB. Types are meant to be more generic to Variant.
All usages of "type" to refer to classes were renamed to "class"
ClassDB has been exposed to GDScript.
OBJ_TYPE() macro is now GDCLASS()
2017-01-02 23:03:46 -03:00
Rémi Verschelde
3f3f5a5359 Merge remote-tracking branch 'origin/gles3' into gles3-on-master
Various merge conflicts have been fixed manually and some mistakes
might have been made - time will tell :)
2017-01-02 21:52:26 +01:00
Rémi Verschelde
0b2771bd65 Merge pull request #7271 from Faless/ipv6_cleanup
Fixes and improvementes for IPv6 implementation.
2017-01-02 15:51:45 +01:00
Rémi Verschelde
c7bc44d5ad Welcome in 2017, dear changelog reader!
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!
2017-01-01 22:03:33 +01:00
Juan Linietsky
a62c99c4e4 Some fixes and clean ups 2016-12-31 10:53:29 -03:00
Juan Linietsky
37f558cd7b Some BRDF fixes 2016-12-21 14:22:17 -03:00
Bojidar Marinov
474eafbbf6
Remove extraneous line in .po reader, which caused it to disregard first line
Fixes #7337
2016-12-20 21:10:44 +02:00
Juan Linietsky
075fde7f26 work in progress global illumination 2016-12-20 00:21:07 -03:00
Bojidar Marinov
23381a530b
Add named colors to GDScript/Visual Script/core.
Names and values taken from https://en.wikipedia.org/wiki/X11_color_names
2016-12-17 11:14:53 +02:00
Fabio Alessandrelli
d194e1c48e Expose HTTP classes' set_ip_type to scripting 2016-12-13 11:09:37 +01:00
Juan Linietsky
22a90e8f2a DOF blur, near and far fields.. 2016-12-10 01:13:20 -03:00
Fabio Alessandrelli
c1c1ec690e Separate hostname resolve cache based on ip_type 2016-12-09 18:24:59 +01:00
Fabio Alessandrelli
1aff508dd9 IP_Address now handle IPv4 and IPv6 transparently
IP_Address changes:
- Converts to and from String transparently while handling IPv4 as IPv6
  mapped (::ffff:[IP]) address internally.
- Completely remove AddrType enum.
- Setting/Getting of ip array is now only possible through dedicated functions
  (ie. set_ipv4, get_ipv4, set_ipv6, get_ipv6)
- Add function to know if the address is a valid IPv4 (for IP implementation and enet)
2016-12-09 18:24:59 +01:00
Fabio Alessandrelli
a77a0118f6 Allow setting ip_type for TCP/UDP and HTTP classes 2016-12-09 18:24:59 +01:00
Fabio Alessandrelli
c18c5013f8 Migrate int.IP_TYPE_ constants to IP.TYPE_ 2016-12-09 18:24:59 +01:00
Fabio Alessandrelli
95bdd97768 Use an instance variable for ip_type in raw sockets
PacketPeerUDP/StreamPeerTCP/TCP_Server now uses an instance variable
to store the selected ip_type (IPv4/IPv6/ANY, where ANY = dual stack).
All calls to resolve addresses, sending/receving data, connecting/listening
will use that socket type.
2016-12-09 18:24:59 +01:00
Juan Linietsky
a299c3ebf1 Support for SSAO 2016-12-04 12:45:30 -03:00
George Marques
a692b7a1c1 Merge pull request #7149 from Kazuo256/array-last
Add Array.front() and Array.back()
2016-11-22 08:08:59 -02:00
Fabio Alessandrelli
cdc97ca453 Properly localize absolute path.
Calling localize_path will return a localized path in res:// if the
path starts with the resource file-system/folder, and will return
the unchanged absolute path otherwise.

Closes #6979 and #7161.
2016-11-22 09:09:39 +01:00
Ariel Manzur
159650fe6f memory ops implemented as OS functions by default
(cherry picked from commit 67f65f6639)
2016-11-18 21:55:30 +01:00
Kazuo256
bf4fda64fd Add Array.front() and Array.back() 2016-11-18 18:45:51 -02:00
Rémi Verschelde
ea87f0f9d9 Blimey! Ye Pirate locale be anchor' a'port! 2016-11-15 09:01:51 +01:00
Ignacio Etcheverry
c93c2a6be8 Merge pull request #6968 from neikeq/pr-register-trnglmesh
Core: Register TriangleMesh type
2016-11-12 14:01:59 +01:00
Rémi Verschelde
7751a933a9 Merge pull request #6802 from henriquelalves/master
Added small modification on gdscript parser to allow users insert '+' before variables
2016-11-11 10:55:26 +01:00
Rémi Verschelde
f0f04d5082 Merge pull request #6862 from Faless/fix_6388
Fix Keyboard Input Hangs when using modifiers
2016-11-11 10:47:10 +01:00
Juan Linietsky
cacf9ebb7f all light types and shadows are working, pending a lot of clean-up 2016-11-09 23:55:06 -03:00
Rémi Verschelde
2ba1b58374 Merge pull request #7039 from RandomShaper/fix-triangulation
Clean/fix triangulation internals
2016-11-09 15:46:13 +01:00
Rémi Verschelde
45f0903839 Merge pull request #7070 from ISylvox/vsnc-to-vsync
Renames vsnc to vsync
2016-11-09 12:03:04 +01:00
ISylvox
b5c383fd61 vsnc --> vsync 2016-11-08 21:06:57 +07:00
SPTelur
df737ebb46 Some missing License notice has been added 2016-11-07 06:16:18 +06:00
George Marques
88b00cb658 Merge pull request #7048 from neikeq/pr-marshals-singleton
Add singleton instance to _Marshalls
2016-11-06 13:34:18 -02:00
Ignacio Etcheverry
6d6d9bc7f9 Core: Add singleton instance to _Marshalls 2016-11-05 17:13:04 +01:00
Pedro J. Estébanez
0e1972aa51 Clean/fix triangulation internals
Drop unused variable
Remove commented-out code
Fix leak by using Vector instead of raw memory
2016-11-05 10:16:44 +01:00
volzhs
42f2380190 Fix wrong number for ERR_* on comment 2016-11-04 00:57:34 +09:00
AlexHolly
d8129719c2 advanced string format 2016-11-01 15:14:48 +01:00
Rémi Verschelde
f34151ff0f style: Various other PEP8 fixes in Python files
Done with `autopep8 --select=E7`, fixes:

- E701 - Put colon-separated compound statement on separate lines.
- E702 - Put semicolon-separated compound statement on separate lines.
- E703 - Put semicolon-separated compound statement on separate lines.
- E711 - Fix comparison with None.
- E712 - Fix (trivial case of) comparison with boolean.
- E713 - Fix (trivial case of) non-membership check.
- E721 - Fix various deprecated code (via lib2to3).
2016-11-01 00:35:16 +01:00
Rémi Verschelde
817dd7ccbb style: Fix PEP8 blank lines issues in Python files
Done with `autopep8 --select=E3,W3`, fixes:

- E301 - Add missing blank line.
- E302 - Add missing 2 blank lines.
- E303 - Remove extra blank lines.
- E304 - Remove blank line following function decorator.
- E309 - Add missing blank line.
- W391 - Remove trailing blank lines.
2016-11-01 00:35:16 +01:00
Rémi Verschelde
d4c17700aa style: Fix PEP8 whitespace issues in Python files
Done with `autopep8 --select=E2,W2`, fixes:

- E201 - Remove extraneous whitespace.
- E202 - Remove extraneous whitespace.
- E203 - Remove extraneous whitespace.
- E211 - Remove extraneous whitespace.
- E221 - Fix extraneous whitespace around keywords.
- E222 - Fix extraneous whitespace around keywords.
- E223 - Fix extraneous whitespace around keywords.
- E224 - Remove extraneous whitespace around operator.
- E225 - Fix missing whitespace around operator.
- E226 - Fix missing whitespace around operator.
- E227 - Fix missing whitespace around operator.
- E228 - Fix missing whitespace around operator.
- E231 - Add missing whitespace.
- E231 - Fix various deprecated code (via lib2to3).
- E241 - Fix extraneous whitespace around keywords.
- E242 - Remove extraneous whitespace around operator.
- E251 - Remove whitespace around parameter '=' sign.
- E261 - Fix spacing after comment hash.
- E262 - Fix spacing after comment hash.
- E265 - Format block comments.
- E271 - Fix extraneous whitespace around keywords.
- E272 - Fix extraneous whitespace around keywords.
- E273 - Fix extraneous whitespace around keywords.
- E274 - Fix extraneous whitespace around keywords.
- W291 - Remove trailing whitespace.
- W293 - Remove trailing whitespace.
2016-11-01 00:35:16 +01:00
Rémi Verschelde
97c8508f5e style: Start applying PEP8 to Python files, indentation issues
Done with `autopep8 --select=E1`, fixes:

- E101 - Reindent all lines.
- E112 - Fix under-indented comments.
- E113 - Fix over-indented comments.
- E115 - Fix under-indented comments.
- E116 - Fix over-indented comments.
- E121 - Fix a badly indented line.
- E122 - Fix a badly indented line.
- E123 - Fix a badly indented line.
- E124 - Fix a badly indented line.
- E125 - Fix indentation undistinguish from the next logical line.
- E126 - Fix a badly indented line.
- E127 - Fix a badly indented line.
- E128 - Fix a badly indented line.
- E129 - Fix a badly indented line.
2016-11-01 00:33:51 +01:00
Fabio Alessandrelli
7eef15b734 Set proper ip_type default for listen() and resolve_hostname() 2016-10-30 17:46:05 +01:00
Fabio Alessandrelli
2f1c859272 Add optional IP type param in TCP/UDP connect/set_send_address 2016-10-30 17:46:05 +01:00
Fabio Alessandrelli
ee69bd81cf TCPServer listen now default to IP type ANY (v6 socket with v4 support) 2016-10-30 17:46:05 +01:00
Rémi Verschelde
89001369e7 Merge pull request #6751 from SuperUserNameMan/new_PRNG_for_rand_from_seed
xorshift32 PRNG for Math::rand_from_seed()
2016-10-30 10:49:22 +01:00
Ignacio Etcheverry
313b7a50b6 Core: Register TriangleMesh type 2016-10-30 01:14:15 +02:00
Ignacio Etcheverry
33766a4935 Merge pull request #6901 from volzhs/fix-inputevent-compare
Fix comparison bug with InputEvent
2016-10-29 22:29:18 +02:00
Damon
1e7f078ce9 Fix locale for macOS-style locales 2016-10-27 07:29:00 -05:00
Damon Myers
470ead74db Change set_locale to fallback to the global language (#6910) 2016-10-27 10:36:32 +02:00
Rémi Verschelde
c67e3a485d Merge pull request #6925 from godotengine/ipv6
Adding IPv6 support
2016-10-26 14:32:51 +02:00
volzhs
b76a0ca40c Fix comparison bug with InputEvent 2016-10-23 05:47:36 +09:00
Henrique L. Alves
6a4b4c7db4 Added small modification on parser for '+' 2016-10-22 14:26:48 -02:00
Ariel Manzur
a3131a6b5b added implementation of is_valid_ip_address() 2016-10-20 09:58:00 -03:00
Ariel Manzur
672225b710 added windows support for ipv6, cleaned up unix code 2016-10-20 07:04:10 -03:00
Ariel Manzur
1c2ac490cf address type for http client 2016-10-19 18:49:41 -03:00
Ariel Manzur
1d45f35a4a fixed some byte order and parsing problems 2016-10-19 18:32:36 -03:00
Fabio Alessandrelli
17d7e6a142 Fix Keyboard Input Hangs when using modifiers
Main input parsing loop only update actions for keyboard if the state has changed.
`InputMap::event_is_action` now ignores keyboard modifiers if the event is not pressed.
Clarify difference between `InputMap::action_has_event` and `InputMap::event_is_action` in docs.

Fixes #6388.
2016-10-19 17:52:49 +02:00
Juan Linietsky
4428115916 Everything returning to normal in 3D, still a long way to go
-implemented the scene part of visual server and rasterizer, objects without lighting and material are rendererd only
2016-10-19 11:14:41 -03:00
Ariel Manzur
887a897c02 adding ipv6 2016-10-18 18:53:18 -03:00
Rémi Verschelde
e96c49f849 Merge pull request #6850 from akien-mga/pr-scsub-shebang
SCsub: Add python shebang as a hint for syntax highlighting
2016-10-17 20:13:18 +02:00
Rémi Verschelde
fc8ccd5b8c SCsub: Add python shebang as a hint for syntax highlighting
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-17 20:10:46 +02:00
Rémi Verschelde
c7ea842416 Merge pull request #6733 from Cruel/patch-1
Use int consistently instead of int32_t for Vectors
2016-10-17 09:53:06 +02:00
Rémi Verschelde
fb257f7f24 Merge pull request #6698 from razvanc-r/fix_hash_float
Fixes hash float negative 0 problem
2016-10-17 09:41:39 +02:00
Fabio Alessandrelli
2f2cea070e Properly handle absolute paths in Globals::localize_path
This give a proper fix for #4280 - #3106 , allowing absolute paths
that starts from the file system, not the resource folder
2016-10-13 11:51:38 +02:00
Răzvan Cosmin Rădulescu
9ad0850301 Fixes hash float negative 0 problem
Before this was giving an error:

var a = {Vector2(1, 0): 5, Vector2(-1, 0): 7}
    print(a)
    print(a[Vector2(1, 0)])
    print(a[-Vector2(1, 0)])

This simple commit fixes the issue.
2016-10-12 21:24:07 +02:00
Juan Linietsky
1527cf8c0d 2D Shaders are working again using the new syntax, though all is buggy in general 2016-10-10 18:31:01 -03:00
yg2f
a747c8ccee xorshift32 PRNG for Math::rand_from_seed()
should fixes #1043

PRNG adapted from : http://excamera.com/sphinx/article-xorshift.html
2016-10-10 20:41:36 +02:00
Rémi Verschelde
b9e010fb7f Merge pull request #6743 from mateka/issue-6296
Issue #6296: When searching for control, checking if matrix is inversible
2016-10-09 14:53:32 +02:00
Mateusz Adamczyk
8671836b76 Added simple check to viewport, if matrix32 is invesile (https://github.com/godotengine/godot/issues/6296). 2016-10-08 12:33:10 +02:00
Thomas Edvalson
6debabe57e
Use int instead of int32_t for Vectors 2016-10-06 16:51:19 -04:00
Răzvan Cosmin Rădulescu
f2af5ab949 fixes #6331, Variant::can_convert 2016-10-04 15:58:12 +02:00
Juan Linietsky
22d83bc9f6 Begining of GLES3 renderer:
-Most 2D drawing is implemented
-Missing shaders
-Missing all 3D
-Editor needs to be set on update always to be used, otherwise it does not refresh
-Large parts of editor not working
2016-10-03 21:35:16 +02:00
Rémi Verschelde
917f5e9bbc Merge pull request #6675 from J08nY/issue-vector3-angle-to
Adds Vector.angle_to(Vector other), fixes #3912

[ci skip]
2016-10-03 13:53:46 +02:00
J08nY
deb36b44d1
Vector3: added angle_to(Vector3 other) 2016-10-03 13:41:59 +02:00
J08nY
f468cfc379
Vector3: format properly, fix indents 2016-10-03 13:41:45 +02:00
Rémi Verschelde
1d2743302f Merge pull request #6686 from Faless/inputevent_none_fix
Properly encode InputEvent of type NONE. Fix #5987
2016-10-03 12:11:53 +02:00
Rémi Verschelde
b675710b46 Merge pull request #6677 from J08nY/issue-pck-packer
PCKPacker: Move to core from tools, fixes #4129
2016-10-03 12:06:19 +02:00
Rémi Verschelde
bf89f43927 Merge pull request #6650 from volzhs/resource-path
Fix error when using 2 or more slashes on resource path
2016-10-03 12:00:22 +02:00
Rémi Verschelde
1dfa52ba59 Merge pull request #6608 from Hinsbart/signal_err
Throw error when trying to emit a non-existing signal.
2016-10-03 11:55:35 +02:00
Rémi Verschelde
90f4e76a46 Merge pull request #6479 from RandomShaper/improve-debug-focus
Improve debug focus behavior
2016-10-03 11:36:01 +02:00
Rémi Verschelde
cf4693cf18 Merge pull request #6304 from razvanc-r/master
(Array) .pop_front, .pop_back & .remove return values instead of void
2016-10-03 11:34:03 +02:00
Fabio Alessandrelli
941f460384 Properly encode InputEvent of type NONE. Fix #5987
In the editor settings you can disable default editor shortcuts.
When a default shortcut is disabled an InputEvent of type NONE must
be stored in the config file to allow the editor to remember that setting.
variant_parser.cpp was not properly encoding InputEvent of type NONE causing
the "corruption" of the editor settings file.
2016-10-03 02:40:53 +02:00
J08nY
b1fba2e013
PCKPacker: moved from tools into core, fixes #4129 2016-10-01 22:07:07 +02:00
volzhs
c333659ebc Fix typo for word_wrap 2016-09-30 03:28:05 +09:00
volzhs
0866f49f4e Fix error when using 2 or more slashes on resource path 2016-09-30 03:11:45 +09:00
Andreas Haas
5e7db2a5b4
Code completion for is_action_just_{pressed, released}
fixes #6621
2016-09-26 22:16:27 +02:00
Rémi Verschelde
73a7b91459 Merge pull request #6568 from Hinsbart/joy_names
Add functions to get readable names for joystick events
2016-09-26 12:45:31 +02:00
Andreas Haas
276087e92d
Throw error when trying to emit a non-existing signal.
closes #6017
2016-09-25 19:26:01 +02:00
Andreas Haas
e0fcd9331a
Add function to get readable names for joystick events
Closes #6476
2016-09-20 23:36:09 +02:00
Ignacio Etcheverry
1c50dfdf6c Merge pull request #6557 from anneomcl/master
Fix for #6158
2016-09-20 09:28:26 +02:00
anneomcl
aa5ade834c Fix for #6158. Converting Vector2 to Size2 for scaling functions. 2016-09-19 23:31:45 -07:00
Rémi Verschelde
82f5130cad Merge pull request #6552 from Hinsbart/vec2_clamped
Expose Vector2::clamped() to scripts
2016-09-20 06:33:55 +02:00
Andreas Haas
c21412fa7e
Expose Vector2::clamped() to scripts
Needed this and wondered that there's no built-in function for it.
So I wanted to implement it and saw that it's actually already there, just wasn't bound ^^
2016-09-19 23:10:30 +02:00
Rémi Verschelde
1830b80719 Merge pull request #6504 from Hinsbart/joy_axis
Fix input action pressed state not changing for quick joystick moveme…
2016-09-17 18:37:15 +02:00
Andreas Haas
84783fe77b
Fix input action pressed state not changing for quick joystick movements.
fixes #6488
Also removes a bunch of dead code related to checking if a joystick axis is pressed.
2016-09-15 19:30:35 +02:00
Juan Linietsky
a75f5f039e Added API version and hashing to ObjectTypeDB 2016-09-14 19:37:37 -03:00
Pedro J. Estébanez
66dac878ac Improve debug focus behavior
Fix focusing debugged game on Windows
Add re-focusing editor on continue
2016-09-14 04:02:18 +02:00
Juan Linietsky
827a9aa829 Added a generic AStar implementation to Godot.
It's pretty fast, use it for games where Navigation does not cut it.
2016-09-13 18:17:18 -03:00
Juan Linietsky
37f1e86108 Do ctrl-click on any code identifier to go to definiton or help page. 2016-09-12 10:53:31 -03:00
Răzvan Cosmin Rădulescu
1a7aae7443 (Array) pop_front, pop_back return values
pop_front, pop_back now return values instead of `void`. Things
I didn't know how to properly implement:

1. pop_front & pop_back shows in the help menu Object as return value.
   I know this is incorrect but if not Object than what? Cause it
   can't be void. It needs to be a generic type that includes all the
   Array types
2016-09-11 17:37:21 +02:00
Juan Linietsky
6abd1437cd Merge pull request #5879 from gau-veldt/subarray_patch
Subarray patch
2016-09-10 12:22:31 -03:00
Juan Linietsky
fc61eb37ce Merge pull request #5920 from 29jm/fix-warnings
Fix some more warnings
2016-09-10 12:21:02 -03:00
Juan Linietsky
7a27d5d9e7 Merge pull request #6363 from vnen/winrt
Fix the support for WinRT/UWP
2016-09-10 11:47:42 -03:00
Juan Linietsky
828e1c092f Renamed the bind_native functions to bind_vararg, should make it show the documentation more clearly and also make it easier to bind to C# 2016-09-07 19:39:57 -03:00
Juan Linietsky
23ababdcd5 Changed Vector3.snap from fmod to stepify, which makes more sense, fixes #6399 2016-09-06 19:14:47 -03:00
Rémi Verschelde
10de1799fb Merge pull request #6408 from supaiku-o/issue-6374
Show object string cast instead of object id in debugger
2016-09-06 07:51:15 +02:00
supaiku
0108e7c33a Show object string cast instead of object id in debugger 2016-09-06 00:39:56 +02:00
Rémi Verschelde
7d600caa16 Merge pull request #6352 from hurikhan/fix_release_build_II
Fix release build. (II)
2016-09-05 07:44:31 +02:00
George Marques
2eaad1cfd1
Fix root path resolution on PCK file 2016-09-03 19:35:42 -03:00
Rémi Verschelde
eff6519aaf InputEvent: Fix event comparisons when type is NONE
Was a regression from 2e5a4cb5ca.
Fixes #6376.
2016-09-02 20:31:28 +02:00
Rémi Verschelde
8216bec7d1 Merge pull request #6365 from akien-mga/pr-locales
i18n: Update list of supported locales based off glibc
2016-09-02 08:40:24 +02:00
Juan Linietsky
89702d545b Basic type constants for visual script 2016-09-02 02:13:12 -03:00
Juan Linietsky
5b96c3a552 -Modified Input and added is_action_just_pressed() as well as is_action_just_released() 2016-09-01 18:59:46 -03:00
Rémi Verschelde
54e97e5ee6 i18n: Update list of supported locales based off glibc
Fixes #5733, fixes #6214.
2016-09-01 23:56:59 +02:00
Juan Linietsky
fc70824f7c More improvements to visual script..
fixed a bug of not saving when sub-nodes changed.
2016-08-31 17:58:51 -03:00
Mario Schlack
588e124c53 Fix release build. (II) 2016-09-01 00:19:31 +08:00
Rémi Verschelde
e51d59ed98 Merge pull request #6188 from TheHX/undo-redo
Implemented UndoRedo mergeable modes
2016-08-29 19:04:42 +02:00
Juan Linietsky
748836e0b3 Several all around fixes to visual scripting (in the process of creating demos) 2016-08-28 20:59:01 -03:00
Rémi Verschelde
6c674375e5 Merge pull request #6249 from volzhs/issue-6121
Show last added action on Input Map
2016-08-28 12:02:08 +02:00
volzhs
2e5a4cb5ca Show last added action on Input Map and implement InputEvent "==" 2016-08-28 15:18:13 +09:00
Rémi Verschelde
3cc08ab1f1 Merge pull request #6270 from neikeq/pr-m32-ctor
Matrix32: Add a constructor which takes six real_t params
2016-08-27 22:32:20 +02:00
Rémi Verschelde
c29c70275e Merge pull request #6187 from TheHX/pr-pinfo-function
Added add_property_info function to Globals and EditorSettings classes
2016-08-27 22:04:50 +02:00
Ignacio Etcheverry
3b67643978 Merge pull request #6290 from caryoscelus/master
fix string iterator
2016-08-27 15:29:06 +02:00
George Marques
d015d93b8f Merge pull request #6239 from volzhs/fix-return-spb
Fix StreamPeerBuffer::duplicate() does not return value
2016-08-26 22:25:24 -03:00
caryoscelus
810fbb70ae fix string iterator
Since strings are null-terminated, size() returns incorrect length,
so use length() instead.

fixes #6287
2016-08-26 10:42:01 +03:00
Juan Linietsky
9c6175db11 More visual script work
-Block switches to 2d/3d editor if editing visual script
-Added cast node in flow control
-Added ability to do RPC in visual script
-Comment nodes
-Fix bug with inverted cable in connecting backwards
-Copy and paste nodes, including from different scripts
2016-08-25 17:45:20 -03:00
Ignacio Etcheverry
3578800230 Matrix32: Add constructor that takes six real_t params 2016-08-24 18:54:23 +02:00
Juan Linietsky
ad8f208bdb Proper function/property selection in visual script editing for property.
This one has an ordered list, built-in description, search, etc.
2016-08-23 19:29:07 -03:00
volzhs
79628b1351 Fix StreamPeerBuffer::duplicate() does not return value 2016-08-22 22:30:22 +09:00
Juan Linietsky
cbbcf72703 -High Level protocol optimization (should be smaller)
-Ability to set compression to ENet packets (check API)
-Fixed small bug in StringDB that lead to duplicate empty strings
-Added a new class, StreamPeerBuffer, useful to create your own tightly packed data
2016-08-22 01:19:24 -03:00
Juan Linietsky
2b7aa98d2d Changed API to use sequenced packets for UDP (drop old) 2016-08-19 22:54:53 -03:00
Juan Linietsky
1add52b55e Brand new networked multiplayer 2016-08-19 16:48:41 -03:00
Franklin Sobrinho
debf574df3 Implemented UndoRedo mergeable modes 2016-08-17 17:14:51 -03:00
Franklin Sobrinho
9f242ed6e5 Added add_property_info function to Globals and EditorSettings classes 2016-08-16 17:10:53 -03:00
Juan Linietsky
3db36684b1 Added high level networked multiplayer to Godot.
It's complete, but absolutely and completely untested, undocumented and NSFW.
Have fun :-)
2016-08-14 18:49:50 -03:00
Juan Linietsky
01bdfe1ff6 Missing some bits, and added connection status. 2016-08-14 14:07:23 -03:00
Juan Linietsky
c21aae65b6 -Added an ENet implementation for NetworkedMultiplayerPeer for "a bit higher level" networking. 2016-08-14 14:07:23 -03:00
Johan Manuel
67b29e3b9e Fix some warnings about misleading indentation 2016-08-13 13:21:35 +02:00
Johan Manuel
046f94d3ac Remove some unused variables 2016-08-13 13:21:35 +02:00
Johan Manuel
8c0a050d49 Fix some warnings about unhandled switch cases 2016-08-13 13:21:35 +02:00
Juan Linietsky
df6dbadc3e Fixed bug in make_dir_recursive, closes #6016 2016-08-08 18:21:06 -03:00
Rémi Verschelde
5d9967ef00 Merge pull request #6055 from eska014/native-bind-rettype
Allow documenting unexposed return types in bind_native_method
2016-08-08 18:23:36 +02:00
Juan Linietsky
9865650b43 Added a simpler way to do sub-functions in both visual and gdscript with the subcall node.
With this, visual script is almost done (missing registering custom nodes from addon).
All this is probably pretty broken, too and needs a lot of testing.
2016-08-08 01:21:22 -03:00
Juan Linietsky
0b8f0670c5 Automatically turn on process callbacks if relevant callbacks in node exists 2016-08-07 20:08:15 -03:00
Juan Linietsky
b77200728e -Added yield nodes to visual script
-Added input selection nodes to visual script
-Added script create icon for those who miss it, will only appear when it can be used.
2016-08-07 19:22:33 -03:00
Juan Linietsky
9714a36e65 Reverted printable null object, seems to cause bugs around and not sure why.
Will have to check better, likely for 3.0
2016-08-06 20:13:27 -03:00
Juan Linietsky
9890c1d2ca Likely with bugs and with some features are missing, as well as profiler support, but VisualScript should be more or less done! 2016-08-06 19:00:54 -03:00
Juan Linietsky
259418f827 VisualScript can now execute visual scripts, but there is no debugger or profiler yet. 2016-08-05 22:48:00 -03:00
eska
4cd246898e Allow documenting unexposed return types in bind_native_method
Document return type of `Object.call` and `GDScript.new`
2016-08-06 02:21:29 +02:00
Juan Linietsky
d8af6330e5 More progress on visual script editing 2016-08-03 11:28:43 -03:00
Juan Linietsky
3d1d190dcd Merge branch 'master' of https://github.com/godotengine/godot 2016-08-02 19:11:47 -03:00
Juan Linietsky
ad313097eb WIP visual scripting, not working yet but you can check out stuff 2016-08-02 19:11:05 -03:00
Rémi Verschelde
37ce438787 Merge pull request #5976 from allkhor/master
Fix String::is_valid_integer() for single symbols + and -
2016-07-31 20:07:20 +02:00
eska
b80c42ef4e Document FuncRef, GDFunctionState, InstancePlaceholder, RID, World2D 2016-07-30 21:27:58 +02:00
allkhor
09c4d65b64 Fix String::is_valid_integer() for single symbols + and - 2016-07-31 00:18:30 +06:00
Ignacio Etcheverry
2d4c4b6ea9 Fix regression with str() improvements for math types 2016-07-28 14:58:12 +02:00
Rémi Verschelde
c6c9f29827 Merge pull request #5921 from neikeq/pr-issue-5919
Prettier str() for some math types
2016-07-27 17:23:17 +02:00
Ignacio Etcheverry
eefca1ada9 Prettier str() for some math types 2016-07-27 17:00:07 +02:00
Bojidar Marinov
2150855faf
Fix reading of empty StringArray-s in .tscn
Closes #5912
2016-07-27 17:59:42 +03:00
Juan Linietsky
9151eb591d Changed the way the step decimals are computed to a safer way, fixes many issues. 2016-07-26 17:25:10 -03:00
Juan Linietsky
c9d0053754 Merge pull request #5524 from pkowal1982/master
Array has(var value) function
2016-07-24 12:21:29 -03:00
Rémi Verschelde
308d405c31 Turn some prints to error logs, remove others
Fixes #5876 in passing.
2016-07-24 00:02:19 +02:00
Gau o fthe Veldt
82d4cb5114 Added slicing operation to DVector via DVector.subarray(int start,int end) method.
Negative indices index from the end of the array.
Indices are range checked before attempting and return appropriate error when out of range.
Binding for RawArray in gdscript to access DVector.subarray() provided.
Documentation of RawArray.subarray() in classes.xml provided.
2016-07-23 12:52:41 -07:00
Johan Manuel
5d52146ff7 Fix warnings in core/variant_op.cpp
Adds default cases in switches where needed, and replaces '0;' with ';;'
in macro expansions (as suggested by @vnen in #5587).
2016-07-23 14:58:37 +02:00
Rémi Verschelde
c57b992774 Merge pull request #5847 from 29jm/patch-3
Expose virtual keyboard functions to GDScript
2016-07-22 08:39:07 +02:00
Johan Manuel
ec8c6e2c7c Expose virtual keyboard functions to GDScript 2016-07-21 23:58:58 +02:00
Rémi Verschelde
d723e5a62f Merge pull request #5560 from vnen/os-request-attention
Add OS.request_attention() for Windows
2016-07-21 17:29:45 +02:00
Juan Linietsky
79a7473cac put text formats for resources and scenes as priority 2016-07-19 21:40:05 -03:00
Juan Linietsky
0988970c1f Fixed properly not save signals that already exist in their base scenes, closes #5656 2016-07-19 21:26:12 -03:00
Rémi Verschelde
87d0515d09 Fix main scene not being saved when set via Play button
Fixes #1134 for real. Also tweaked the engine.cfg template
and the preference order when browsing for the main scene.
2016-07-19 21:35:14 +02:00
Rémi Verschelde
525fb01fd2 Revert "Homogeinize resource formats loaders/savers"
The text format definition needs to stay in `scene/` as it relies
on other scene components, and `core/` must stay self-contained.

This reverts commits a5e27503fd
and 1492fd8460.
2016-07-19 18:15:01 +02:00
Rémi Verschelde
c328693e83 Merge pull request #5709 from akien-mga/pr-get-engine-version
OS: Add get_engine_version method
2016-07-18 00:55:29 +02:00
Rémi Verschelde
b2953bc1cc OS: Add get_engine_version method
Fixes #5693.
2016-07-18 00:54:56 +02:00
Rémi Verschelde
8de5aedb9e Merge pull request #5718 from jay3d/master
Added gyroscope support to Godot and Android
2016-07-18 00:52:15 +02:00
Rémi Verschelde
22419082d9 Remove some noisy debug prints
Part of #5031
2016-07-17 18:25:21 +02:00
Juan Linietsky
24d86e33a6 Merge pull request #5467 from RandomShaper/enhance-tidy-extensions
Enhance/tidy file extensions management
2016-07-16 09:28:49 -03:00
Rémi Verschelde
f07d4f556a i18n: Add missing locale identifiers for Bengali and Urdu
Fixes errors showing up since the addition of those WIP translations.
2016-07-16 13:17:09 +02:00
Jamil Halabi
370ae3512d Added gyroscope support to Godot and Android 2016-07-16 01:43:32 +08:00
George Marques
9a931e333c
Fix binding of File::get_sha256()
Fix #5698
2016-07-14 14:23:22 -03:00
punto-
bba89aef3b Merge pull request #5559 from Hinsbart/connected_joysticks
Input: add get_connected_joysticks() method.
2016-07-10 14:00:27 -03:00
Juan Linietsky
9dac41432e Merge pull request #5443 from samuelgrigolato/iterate-string-in-gdscript
Add support to String type in gdscript iteration
2016-07-10 13:32:37 -03:00
Juan Linietsky
28641fd9b8 Merge pull request #5525 from SuperUserNameMan/window_get_latin_kb_variant
windows get_latin_keyboard_variant() implementation and gdscript binding, #5503
2016-07-10 12:41:05 -03:00
Rémi Verschelde
3a70d4a072 Merge pull request #5589 from akien-mga/pr-unused-var
Removing some more unused vars and dead code
2016-07-09 14:33:30 +02:00
Rémi Verschelde
a15de80942 classref: Fix arg name for is_action_pressed/released
Also position TEXTURE_SPHERE constant properly.
2016-07-08 23:40:43 +02:00
Rémi Verschelde
f40f360a2c Remove unused variables (fourth pass) + dead code
Also fix a potential regression from 3fcb9b1ec1.
2016-07-08 16:47:55 +02:00
Pawel Kowal
96eb97cbbf Array has(var value) function 2016-07-07 11:40:38 +02:00
George Marques
29b62ce5d0
Make sure builtin types' constants remain in order
This adds a list of constants for VariantCall to make sure the order of
register is kept when showing in the editor help and in the documentation.

This also remove the sorting of constants from the doctool, so it keeps
the natural order in classes.xml.
2016-07-05 17:09:16 -03:00
George Marques
5c355a63d3
Add OS.request_attention() for Windows 2016-07-05 12:29:08 -03:00
J08nY
0f767fe8b9
Fixed HQ2x compiler warnings 2016-07-05 16:52:31 +02:00
Andreas Haas
45cfd199a4
Input: add get_connected_joysticks() method.
fixes #5465
2016-07-05 14:08:02 +02:00
SuperUserNameMan
7a142780f0 windows get_latin_keyboard_variant() implementation and gdscript binding 2016-07-03 19:35:13 +02:00
Juan Linietsky
eade613dc7 Merge pull request #5522 from neikeq/pr-issue-5519
Prettier str() for arrays
2016-07-02 11:35:30 -03:00
Ignacio Etcheverry
38ed5d9c7d Prettier str() for arrays 2016-07-02 15:54:37 +02:00
Juan Linietsky
72ab3c2236 Do a second stage remap, so it considers translation first, atlas second, closes #5147 2016-06-29 10:18:46 -03:00
Pedro J. Estébanez
1492fd8460 Make text formats preferent over binary ones 2016-06-28 19:25:10 +02:00
Pedro J. Estébanez
92f10a3582 Tidy up population of extensions list 2016-06-28 18:58:40 +02:00
Pedro J. Estébanez
a5e27503fd Homogeinize resource formats loaders/savers 2016-06-28 18:27:12 +02:00
Rémi Verschelde
bd424d8f73 Fix style bug in event queue
Same fix as for 1f9812ab83
Not sure if this code actually does anything though, `buffer_max_used` seems unused.
2016-06-28 08:00:33 +02:00
Juan Linietsky
1f9812ab83 fix bug in reporting of message queue size 2016-06-27 19:07:58 -03:00
Juan Linietsky
efdcf205d2 Make most resources (save for packedscenes and scripts) reload if they change on disk. Closes #4059. 2016-06-27 13:17:20 -03:00
Juan Linietsky
47d6cc08bb Properly deliver localized coordinates when passing gui events through parents, closes #4215 2016-06-27 10:00:36 -03:00
Samuel Grigolato
9ac7eaa89c Add support to String type in gdscript iteration. #5188 2016-06-26 21:13:31 -03:00
Juan Linietsky
fb9d1498bf Cleaner way to enable ptrcall 2016-06-26 11:59:25 -03:00
Juan Linietsky
3813160ea0 -Fix crashes with thread_exit()
-Added draft of C script API (still disabled and unused)
2016-06-26 10:54:45 -03:00
Rémi Verschelde
8a5d23c820 Merge pull request #5412 from vnen/dvector-invert-bind
Expose *Array.invert() to script
2016-06-26 09:46:51 +02:00
George Marques
a6ec3af349
Expose *Array.invert() to script
Properly solve #4601.
2016-06-25 14:16:28 -03:00
Juan Linietsky
8dac3bf3b1 Added function to notify ScriptLanguage when a thread is created/freed, allows scripts to allocate a stack there via TLS 2016-06-25 10:41:23 -03:00
Juan Linietsky
62dfee768d changed way to return reference 2016-06-24 20:06:07 -03:00
Rémi Verschelde
d52fa2e0eb Merge pull request #5380 from vnen/string-canvasitem-docs
Documentation for String and CanvasItem
2016-06-24 21:16:20 +02:00
George Marques
f4dfa37a23
Fix bug in String==StrRange comparison
It was comparing the StrRange with itself, always return true if both
were the same length.

Fix #3843
2016-06-24 12:39:58 -03:00
George Marques
98b02209a4
Add sha256_buffer() function to String 2016-06-23 13:59:23 -03:00
Rémi Verschelde
60fa2b9815 Merge pull request #5201 from Hinsbart/quat_op
Expose missing Quaternion operators.
2016-06-23 10:00:05 +02:00
Rémi Verschelde
0f54ab93bc Fix typo to PTRCALL_ENABLED from previous commit
And boo @reduz, those trailing spaces :p
2016-06-23 07:54:30 +02:00
Rémi Verschelde
20112a338d Merge pull request #5338 from J08nY/array-bindings
*Array bindings
2016-06-23 07:21:10 +02:00
Juan Linietsky
d6225b1e00 Improved binding system (ObjectTypeDB::bind_method) to be friendlier to statically typed languages, should help in the Mono integration.
Disabled by default.
2016-06-22 23:13:41 -03:00
J08nY
797168e62d
*Array: added bindings for other DVector methods
- affects {RAW,INT,REAL,STRING,VECTOR2,VECTOR3,COLOR}_ARRAY
 - adds bindings for append(),append_array(),remove(),insert()
 - broadens #4245
2016-06-22 11:51:59 +02:00
Rémi Verschelde
0266d752b3 Merge pull request #5333 from J08nY/signal-list-fix
Object: get_signal_connection_list fixed
2016-06-22 07:52:23 +02:00
Juan Linietsky
3edf66477a Fixed error using the same atlas rect for all images, closes #4139 2016-06-21 20:51:41 -03:00
Juan Linietsky
d57b09e47b Better support in ScriptLanguage for GC based scripts 2016-06-21 19:36:22 -03:00
Andreas Haas
d08092e113 Expose missing Quaternion operators.
Scripts can now evaluate the following cases:
 - (quat * real) and (quat / real)
 - (quat + quat) and (quat - quat)
2016-06-21 23:26:38 +02:00
Andreas Haas
6d09183c44 Set default duration parameter of joystick vibration to 0. 2016-06-21 17:06:41 +02:00
Rémi Verschelde
81a5e4238d Merge pull request #5325 from vnen/doc-file
Add class reference for File class
2016-06-21 16:34:18 +02:00
George Marques
0f20d8756e
Fix File.get_as_text() to return the whole file
It was returning only from the cursor forward.
2016-06-21 11:25:03 -03:00
J08nY
621b8d1324
Object: get_signal_connection_list fixed
now returns only the connections for the signal argument, as specified
fixes #5329
2016-06-21 13:07:50 +02:00
Juan Linietsky
fa0d1cd27c fix CanvasItem.get_global_transform() and CanvasItem.get_local_transform(), closes #4075 2016-06-20 21:19:12 -03:00
Juan Linietsky
9d4cdc6d8a fix bug decompressing bc texture, closes #4404 2016-06-20 19:43:06 -03:00
Juan Linietsky
6872139300 Add quotes to .tscn keys, solves #4366 2016-06-20 18:41:59 -03:00
Juan Linietsky
e9d2c9ad51 added missing status, closes #4361 2016-06-20 17:54:42 -03:00
Rémi Verschelde
3668768463 Merge pull request #5196 from vnen/similarity-code-completion
Improve code completion search
2016-06-20 13:37:24 +02:00
Juan Linietsky
5e816fd8c8 Property reporty base type when a function fails, fixes #4581 probably also closes other issues 2016-06-20 01:15:02 -03:00
George Marques
1b8d0a16b7
Add similarity comparison to String
Uses the Sorensen-Dice coefficient to calculate similarity. This also adds
String.bigrams() as a convenience function needed by the comparison.
2016-06-19 11:39:01 -03:00
Rémi Verschelde
e76f744c36 Merge pull request #5283 from djrm/remove_prints
Removed lots of prints
2016-06-19 13:10:23 +02:00
Rémi Verschelde
df202127e3 Merge pull request #5281 from J08nY/useless-preprocessor
Fix #5263: Useless preprocessor condition
2016-06-19 13:09:25 +02:00
Juan Linietsky
7c20c386c5 -Added trigger mode to tracks, useful for properties that work as triggers, such as playing a sample, an animation, etc.
-Better interpolation of discrete tracks, fixes #4417
2016-06-19 01:43:02 -03:00
Daniel J. Ramirez
422fac5066 Removed lots of prints 2016-06-18 18:01:06 -05:00
J08nY
449571b6cd
Remove USE_QUAD_VECTORS unused check 2016-06-19 00:41:52 +02:00
J08nY
a95a1f47a4
Remove CHARTYPE_16BITS unused checks
fix #5263
2016-06-19 00:12:31 +02:00
Juan Linietsky
1c541a2bee corrently parse utf8 from zip_io open, closes #1708
this probably failed when exporting or opening android apk files too, should fix that too.
2016-06-18 17:29:41 -03:00
Rémi Verschelde
c3bf11d4d4 Drop fully commented-out files
Part of #5272
2016-06-18 20:23:49 +02:00
Rémi Verschelde
80727b6896 Drop empty .cpp files for header-only classes
Part of #5272
2016-06-18 20:00:08 +02:00
Rémi Verschelde
b7dbf9207a Drop empty files that are not used anywhere
Part of #5272
2016-06-18 19:46:30 +02:00
Juan Linietsky
d8be671313 -Changed how Dir works so it's more user friendly, closes #4705 2016-06-18 12:11:48 -03:00
Juan Linietsky
e3905a084e -made get_space_left() return values more homogenous, also for script, converted to mb, closes #4617 2016-06-18 11:32:45 -03:00
Juan Linietsky
61655d6dc2 Fixed make_dir and make_dir_recursive erros, closes #1680 closes #1872 2016-06-18 11:13:03 -03:00
Rémi Verschelde
a7fc04626a Add missing license headers in our source files (#5255)
Also removes a couple wrong Godot headers from third-party source files.
2016-06-18 14:46:12 +02:00
Juan Linietsky
ebbd705b63 Merge pull request #5250 from bojidar-bg/add-sha256
Add sha256 to String and File/FileAccess.
2016-06-17 10:57:15 -03:00
Bojidar Marinov
7073bb0bb2
Add sha256 to String and File/FileAccess.
Probably does #4166
2016-06-17 10:55:16 +03:00
Juan Linietsky
f0d9245ecf -added missing .inc files
-Made it possible to change the editor theme
-Added two options to theme editor plugin to create empty template themes and editor themes
-Make sure that saved themes to .tres keep the null theme fields, to make it easier to keep those when saving/loading the theme
2016-06-17 01:13:23 -03:00
J08nY
6bbc53ee18
Fixed PacketPeer.get_var() return type in docs 2016-06-16 14:15:44 +02:00
J08nY
cffdc52482 Classref: Added docs for StreamPeer* (#5216) 2016-06-15 13:32:12 +02:00
Rémi Verschelde
78b745bb0a Merge pull request #5192 from J08nY/issue-5190
Dictionary: rename param in .has() .has_all() .erase()
2016-06-15 11:13:59 +02:00
Rémi Verschelde
ee105744e0 Merge pull request #5210 from J08nY/issue-5189
String documentation: .ord_at() returns int not String
2016-06-15 11:08:10 +02:00
Wilhem Barbier
f665200df7 Add joystick vibration support on Linux (#5043) 2016-06-15 07:25:35 +02:00
J08nY
58a891265a
String documentation: .ord_at() returns int not String
fixes #5189
2016-06-14 14:52:32 +02:00
Juan Linietsky
5f674bdca1 Merge pull request #5179 from RandomShaper/better-android-export
Enhanced Android export
2016-06-13 15:06:37 -03:00
J08nY
7a19e3c6ae
Dictionary: rename param in .has() .has_all() .erase()
fixes #5190, param should be named key, not value
2016-06-13 19:08:04 +02:00
Juan Linietsky
20b4567829 Merge pull request #5177 from vnen/string-subsequence
Add subsequence search to tools
2016-06-13 13:25:56 -03:00
Juan Linietsky
45443a1651 Changed reload logic to auto-hard-reload scripts on save. It's simpler to use and also fixes #4756 2016-06-13 10:58:32 -03:00
Juan Linietsky
910151a361 -Avoid negative zero from being saved to config files o resource files, fixes #4758 2016-06-13 10:16:43 -03:00
Juan Linietsky
7f02627290 -Add visible IO errors when closing a file fails due to it being locked (most likely on windows), closes #4760 2016-06-13 10:10:50 -03:00
Pedro J. Estébanez
e1948d520a Zip-align exported APK 2016-06-13 00:19:45 +02:00
George Marques
a6c37d2b5d
Add 'is_subsequence_of' function to String 2016-06-12 14:52:54 -03:00
Juan Linietsky
4bb93c976c Made error when signal calls a method with the wrong number of parameters more detailed, closes #4893 2016-06-12 12:32:45 -03:00
Juan Linietsky
9ddc13a5cc -All variables from script are visible through get_property_list(), not just those with export()
-Added PROPERTY_USAGE_SCRIPT_VARIABLE to identify what comes from script
-closes #5146
2016-06-11 18:34:49 -03:00
George Marques
46b6bb9dc4
Add 'rfind' function to Array 2016-06-10 17:46:57 -03:00
George Marques
269d570420
Add 'from' argument to Array.find() 2016-06-10 15:43:07 -03:00
Juan Linietsky
f8f30662d9 -Ability to reload (and soft reload) tool scripts. Please test! 2016-06-08 20:00:52 -03:00
Juan Linietsky
4b893ffeeb Merge pull request #4861 from brakhane/negative-indexing
Add support for Python-like negative indexing
2016-06-07 10:17:00 -03:00
J08nY
8a4eca8aa8
Exposed Image.INTERPOLATE_* 2016-06-07 11:46:07 +02:00
Rémi Verschelde
0729c852b4 Fix indentation issues in last commits
Ping @reduz.
2016-06-07 07:39:40 +02:00
Juan Linietsky
c86f1f1737 Merge pull request #4693 from kjohnson0451/dvector_invert
Adds invert() method DVector
2016-06-06 20:54:39 -03:00
Juan Linietsky
82b759d938 Merge pull request #4895 from TheoXD/_fix_interactive_loader_cache
fixed interactive_loader() not returning a cached scene
2016-06-06 20:35:54 -03:00
Juan Linietsky
736b65e566 Merge pull request #4977 from SaracenOne/scripting_expose
Expose extra methods and constants to scripts
2016-06-06 20:27:40 -03:00
Juan Linietsky
be830d10c2 Merge pull request #5026 from Geequlim/patch9frame-extension
Enhanced Patch9Frame
2016-06-06 20:15:33 -03:00
Juan Linietsky
7499fa4507 Merge pull request #5048 from J08nY/dictionary
Added Dictionary.values()
2016-06-06 20:09:04 -03:00
Juan Linietsky
c42651c39e Merge branch 'master' of https://github.com/godotengine/godot 2016-06-06 19:56:34 -03:00
Juan Linietsky
85f4f39279 Added function get_signals_connected_to_this_this()
should help properly implement #5058
2016-06-06 19:55:50 -03:00
Roberto
04fc62c4e3 Add missing license information (MiniZip) 2016-06-06 12:32:02 +02:00
Juan Linietsky
2420e46b44 vsync support
-works on windows
-may not work on X11, if so please fix
-OSX does not seem to support disabling vsync
2016-06-05 19:14:33 -03:00
Dennis Brakhane
1e068d34f4 Add support for Python-like negative indexing
Negative indexing is a useful feature in Python, especially when combined
with array slicing. Array slicing will hopefully be implemented later, but
negative indexing is useful in its own right.

A negative index is indexing from the end of an array,
"array[-1] == array[array.size()-1]", using a negative index
larger/smaller than the length of the array is still an error.

While primarily useful for arrays and strings, support is also added to
"array like" structures like Vector3 and Color. This is done just
to be consistent; vector3[2] is much clearer than vector3[-1], but disallowing
it while allowing it for an array with 3 elements seems confusing.
2016-06-05 20:00:54 +02:00
Dennis Brakhane
842057e56f Move repetitive code to macros
In preparation for the following "allow negative indexing" commit,
replace the repetitive array "set index" and "get index" code with
macros.

no functional changes were made, the resulting machine code is unchanged.
2016-06-05 20:00:54 +02:00
Andreas Haas
a9779efe82 fix ui_* input events in Editor
`input/` is the category for these in globals ^^
fixes #5050
2016-06-05 19:06:57 +02:00
J08nY
dcce477f5e
Added Dictionary.values() 2016-06-05 14:50:06 +02:00
Juan Linietsky
64fd75d91a Make Input Actions config not affect the editor 2016-06-05 01:19:42 -03:00
Juan Linietsky
007efb6a20 -customizable shortcuts in editor
-editor settings now save to .tres instead of .xml
-buttons can now hold a shortcut
2016-06-04 21:31:47 -03:00
Rémi Verschelde
279b7921e8 Merge pull request #5036 from J08nY/inputmap-actions
Added InputMap.get_actions()
2016-06-04 21:37:57 +02:00
Rémi Verschelde
2884faf55b Merge pull request #4999 from volzhs/fix-project-path
change invalid characters when get user data dir on Windows & Unix
2016-06-04 21:37:47 +02:00
Geequlim
fdf914e53e Add texture region support for stylebox render 2016-06-05 00:45:53 +08:00
Juan Linietsky
3ae61f2292 Created a NodeDock with signals and groups 2016-06-04 13:19:08 -03:00
J08nY
1a80b2a04a
Added InputMap.get_actions()
get_actions() lists all actions in the InputMap.
2016-06-04 17:56:30 +02:00
J08nY
5f5ca8cd9b Added Array.find_last() and Array.count() 2016-06-03 23:36:02 +02:00
J08nY
b4fb4a131d Fix typo in http_client.h 2016-06-03 21:48:20 +02:00
Geequlim
2bbedd35dd Expose ResourceImportMetadata::set_source_md5 for script 2016-06-03 18:45:44 +08:00
volzhs
9073dc9963 change invalid characters when get user data dir on Windows & Unix
Can't create user data folder when project name has ``\ / : * ? " < > |`` characters on OS_Windows & OS_Unix.
So, change it to ``-`` to be able to make folder.

fixes #4928 and it's altanative to #4986.
2016-06-03 03:39:37 +09:00
Juan Linietsky
9e745b920f Ability to reload scripts on running game 2016-06-01 20:31:42 -03:00
Ignacio Etcheverry
cceb842a48 Removed invalid DEFVAL for HTTPClient::request_raw 2016-06-01 18:47:04 +02:00
Saracen
4bcc60008d Expose Vector2 abs method to scripts 2016-06-01 15:47:53 +01:00
Saracen
445909c1e1 Exposed remaining PROPERTY_USAGE constants to script 2016-06-01 15:47:49 +01:00
Saracen
7ebc422945 Expose string 'erase' method to script 2016-06-01 15:47:46 +01:00
Andreas Haas
da3247a500 Make Color.{rgba}8 return int instead float
According to the class doc, these should be int.
Also fixed a little bug: the setter for 'r8' changed the green value
2016-05-31 20:50:19 +02:00
Juan Linietsky
9b1f8230ec -Some fixes to OSX retina scaling for window functions
-Implemented HiDPI detection and support for Godot Editor!
2016-05-30 00:28:29 -03:00
TheoXD
47bd1e8688 fixed interactive_loader() not returning a cached scene 2016-05-30 02:47:33 +02:00
Juan Linietsky
4f100f92d8 DPI Detection support
Windows only for now.
Many builds may break (older visual studio, mingw32)
2016-05-29 13:40:21 -03:00
Rémi Verschelde
96bdab6edf Merge pull request #4845 from vnen/pr-magnetometer
Add magnetometer sensor support for Android
2016-05-29 18:37:33 +02:00
Juan Linietsky
3e8eb396d7 Finalized DynamicFont implementation
-DynamicFont uses Freetype by default
-Editor fonts are now scalable thanks to this
-Cleaned up documentation browser and added fonts for this
2016-05-29 11:37:52 -03:00
Juan Linietsky
bccdc11dde Added translation support to Godot
included is a French translation!
2016-05-27 19:58:28 -03:00
fluffrabbit
4877b714b3
Add magnetometer sensor support for Android 2016-05-27 14:36:55 -03:00
Juan Linietsky
8be2fabbe5 Changed import workflow
-Rearrange favorites in fs dock with drag and drop
-Removed import -> sub-scene, moved to scenetree contextual menu
-Removed import -> re-import , moved and integrated to FS dock
-Added ability in FS dock to re-import more than one resource
simultaneously
-Added ability to drag from native filesystem explorer to Godot, only
works on Windows though
-Removed scene reimport merge options, never worked well. Eventually
merging materials should be re-added
-Added ability to set custom root node type when importing scenes
-Re-Import is now automatic, can be configured back to manual in editor
settings
-Added resource previews in property list for many resource types
2016-05-27 14:19:11 -03:00
Geequlim
728ce570a5 Add spaces to macros in memory.h to make C++11 compilers happy 2016-05-27 16:48:27 +08:00
Juan Linietsky
b2a4908e9c Real-Time Remote Inspector support 2016-05-22 19:29:06 -03:00
Juan Linietsky
eacb8f04c4 Merge remote-tracking branch 'origin/master' 2016-05-21 22:34:55 -03:00