Rémi Verschelde
f99481e0c2
Merge pull request #8944 from RandomShaper/fix-error-handling-2.1
...
Make error handling more convenient (2.1)
2017-07-05 10:15:36 +02:00
Pedro J. Estébanez
e9b7640f84
Make error handling more convenient
...
By adding some PRAY_* macros that encapsulate both the check and the returning of a null reference (UB).
Plus transient avoidance of the flood of warnings emitted by Clang when checking 'this' for NULL.
Plus explanation about the do-while(0) loop in some error macros.
2017-07-05 09:31:37 +02:00
Juan Linietsky
026c580399
Changed Vector3.snap from fmod to stepify, which makes more sense, fixes #6399
...
(cherry picked from commit 23ababdcd5
)
2017-06-30 23:32:13 +02:00
Rémi Verschelde
1a1b97e059
Revert "Dictionary keys are now sorted by insertion order"
...
This reverts commit b8a16fbd0e
.
Too cutting edge for the stable branch, it also makes Dictionary
twice slower.
2017-06-28 08:05:30 +02:00
Rémi Verschelde
e3f9653353
Merge pull request #9410 from williamd1k0/advanced-string-format
...
Advanced string format (2.1)
2017-06-27 20:52:27 +02:00
Juan Linietsky
b8a16fbd0e
Dictionary keys are now sorted by insertion order
...
- Cherry-pick from 0a59c3c3a6
2017-06-26 20:29:17 -03:00
geequlim
9d49491afd
Fix crash with String copy from with NULL string parameter
...
(cherry picked from commit 4b2a44054a
)
2017-06-25 16:18:05 +02:00
Poommetee Ketson
4a0dc529ce
BuildSystem: generated files have .gen.ext
2017-06-25 20:31:56 +07:00
dumitru-stama
e9e39dd6dc
Added 'blit_rect_mask' method
2017-06-24 08:16:35 -07:00
d
48f8931d48
Added two new methods 'blend_rect_mask' and 'fill'
2017-06-18 10:27:50 -07:00
Rémi Verschelde
e17966ca01
Merge pull request #9167 from dumitru-stama/blitalpha
...
Added new "blend_rect" method as an alpha-aware blit_rect
2017-06-17 12:54:15 +02:00
dumitru.stama
e99d13c6bc
Fixed a blit_rect crash with out-of-bounds coords
2017-06-17 12:53:32 +02:00
Martin Capitanio
3213ddd060
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
(cherry picked from commit 5cabe5f0fc
)
2017-06-17 12:16:45 +02:00
toger5
e1f4abe062
added grow functions to Rect2
...
- grow_individual
- grow_margin
(cherry picked from commit 66b308925c
)
2017-06-17 12:04:49 +02:00
William Tumeo
a82bf83ea2
Add advanced string format
...
Cherry-pick from #7010
2017-06-16 00:41:51 -03:00
dumitru.stama
95dcd22b46
Added a new 'blend_rect' method acting as 'blit_rect' with alpha-blending
2017-06-14 00:55:52 -07:00
Rémi Verschelde
dc420b3b0a
Doc: Sync classref with current source
2017-06-14 09:26:43 +02:00
George Marques
1d759f02e6
Fix root path resolution on PCK file
2017-06-07 11:36:00 -03:00
Pedro J. Estébanez
bf4a25c272
Use builtin BC decompression when libsquish not available
...
Builtin code is revived and fixed.
2017-05-28 03:45:38 +02:00
Ferenc Arn
aef3c4a804
Use libsquish to decompress DXT textures.
...
Also ensure that save_png doesn't modify the image.
Removed the broken decompressor in the process.
2017-05-26 18:56:10 -05:00
Bojidar Marinov
831cb5b119
Fix weigth scale of A* being applied to the whole path and estimation
...
Attempt to fix #8584
(cherry picked from commit bd91730347
)
2017-05-27 00:42:59 +02:00
Ferenc Arn
89703435a1
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 .
(cherry picked from commit e4eb093c62
)
2017-05-27 00:42:59 +02:00
Fabian Mathews
f0beb36652
Added bool to allow astar points to be connected in one direction only
...
(cherry picked from commit 2262a59ab3
)
2017-05-27 00:42:59 +02:00
Marcelo Fernandez
645636e27c
Fixed the IP resolver code blocking the main thread, it uses a Mutex now to lock its own thread.
...
(cherry picked from commit bba8f1db30
)
2017-05-26 23:56:31 +02:00
Rémi Verschelde
6cf507f004
Move other lone thirdparty files to thirdparty/misc
...
Also move Box2D ConvexDecomposition contrib code to
thirdparty/b2d_convexdecomp.
(cherry picked from commit d4029aa51a
)
2017-05-26 23:39:47 +02:00
Rémi Verschelde
86724ba1c6
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
```
(cherry picked from commit c5f830d6b9
)
2017-05-26 23:35:15 +02:00
Rémi Verschelde
8312d421c6
Move core thirdparty files to thirdparty/{minizip,misc}
...
(cherry picked from commit 2398eb6ed4
)
2017-05-26 23:29:26 +02:00
Marco Melorio
b0d2b46efb
Update snake_case splitting
...
(cherry picked from commit 4677c0fbb8
)
2017-05-26 18:47:23 +02:00
Andreas Haas
a46dcfe12f
Core: fix possible memory leaks.
...
(cherry picked from commit a2734df7ed
)
2017-05-26 17:38:05 +02:00
Pedro J. Estébanez
fa4b09f63d
Make MessageQueue::flush() reentrant
2017-05-18 13:01:12 +02:00
Rémi Verschelde
aa046a85dc
Merge pull request #8740 from pixelpicosean/scrollingWithFactor
...
Implemented scrolling factor for precision trackpads for 2.1
2017-05-15 07:57:05 +02:00
Sean Bohan
ee670f3724
Implemented scrolling factor for smooth trackpad scrolling
...
Working platforms platform: OSX, Windows.
Support for almost all ui elements, including project list.
Ported from 304a1f5b5a
(#7864 ).
Fixes #492 and #3913 .
2017-05-15 06:44:00 +08:00
Fabio Alessandrelli
3044d0aed3
Compression::compress properly returns compressed size
...
selective pick from cbbcf72703
2017-05-12 20:01:53 +02:00
Fabio Alessandrelli
5521325068
Better explain out of memory error in message queue
...
Also effectively saves one unnecessary call when everything is fine.
(cherry picked from commit 1a7aafa90d
)
2017-05-12 20:01:53 +02:00
Fabio Alessandrelli
bd26eacc59
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.
(cherry picked from commit 5f681d0b0f
)
2017-05-12 20:01:53 +02:00
Pedro J. Estébanez
0469782d3c
Fix infinite loop in DirAccessPack::get_current_dir()
2017-05-04 02:18:39 +02:00
volzhs
cfa943a0eb
Fix wrong fallback for locale
2017-04-26 04:45:52 +09:00
Rémi Verschelde
3b687c5474
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.
2017-04-10 23:08:28 +02:00
Rémi Verschelde
e9b045d9e5
Add "Godot Engine contributors" copyright line
2017-04-08 00:45:24 +02:00
Fabian Mathews
1a1e25bfca
Added ability to change A-star cost function
...
(cherry picked from commit b541402417
)
2017-04-05 08:18:38 +02:00
Ferenc Arn
f263274a25
Use atan2 rather than acos in Vector3.angle_to.
...
Fixes #8111 .
(cherry picked from commit 3730e0533c
)
2017-03-24 23:19:30 +01:00
Bojidar Marinov
0afb9b579f
Suppress error messages when using ConfigFile::get_value and a default is given
...
Fixes #8097
(cherry picked from commit 927d15b815
)
2017-03-24 23:17:08 +01:00
Rémi Verschelde
a9d63bcf6f
Merge pull request #8107 from RandomShaper/warped-panning-2.1
...
Implement warped mouse panning for 2D & 3D editors (2.1)
2017-03-24 22:50:34 +01:00
Pedro J. Estébanez
2c2c48ffb3
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:18:47 +01:00
Fabio Alessandrelli
d9525082fe
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)
(cherry picked from commit 88a56ba783
)
2017-03-22 21:00:23 +01:00
Fabio Alessandrelli
0b9684a085
Implement UDP listen bind address
...
(cherry picked from commit 2fe4ef6699
)
2017-03-22 20:25:56 +01:00
Fabio Alessandrelli
43d992fc34
Implement TCP Server bind address
...
(cherry picked from commit b2839343ca
)
2017-03-22 20:25:52 +01:00
Fabio Alessandrelli
90a747a52d
IP_Address can now be a wildcard (not a valid IP, used for binding)
...
(cherry picked from commit 4198291cd4
)
2017-03-22 20:01:41 +01:00
Fabio Alessandrelli
603105df18
Convert validity checks of IP_Address to is_valid method.
...
(cherry picked from commit 98a7e2b4e0
)
2017-03-22 20:01:41 +01:00
Andreas Haas
2f1a0448a7
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 08:33:07 +01:00