Commit graph

6939 commits

Author SHA1 Message Date
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
Rémi Verschelde
c4d3dd1a48 Merge pull request #8379 from karroffel/obj-import-reenable
re-enabled obj import
2017-04-12 22:27:19 +02:00
Karroffel
3bc09da0b1 re-enabled obj import 2017-04-12 22:22:13 +02:00
Rémi Verschelde
e46af1e236 Merge pull request #8362 from bojidar-bg/fix-llvm-marshalls
Fix a pesky bug in marshalls.cpp/encode_variant
2017-04-11 20:07:58 +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
Thomas Herzog
faee2fbf62 Merge pull request #8360 from karroffel/gdnative-string-c-functions
[GDNative] made string functions more C-friendly
2017-04-11 15:47:12 +02:00
Karroffel
be2ad4f155 [GDNative] made string functions more C-friendly 2017-04-11 14:58:59 +02:00
Thomas Herzog
09ed1113fa Merge pull request #8352 from karroffel/gdnative-misc-fixes
[GDNative] misc fixes
2017-04-11 02:25:18 +02:00
Karroffel
544940c175 [GDNative] C API and generator fixes 2017-04-11 01:45:58 +02:00
Karroffel
7919ec6d89 [GDNative] re-enabled some init options 2017-04-11 01:45:58 +02:00
darkoff9
200c84b6b2 Fix joystick crash when mapping is -1 2017-04-10 23:41:47 +02:00
Thomas Herzog
2ac0cf568d Merge pull request #8350 from karroffel/gdnative-api-reference-field
[GDNative] added is_reference filed to api.json
2017-04-10 22:30:57 +02:00
Thomas Herzog
a1413b9a68 Merge pull request #8349 from karroffel/gdnative-constructor
[GDNative] function to get class constructor
2017-04-10 22:30:45 +02:00
Karroffel
c562cc9ea0 [GDNative] added is_reference filed to api.json 2017-04-10 21:32:20 +02:00
Karroffel
cf45f3ab4b [GDNative] function to get class constructor 2017-04-10 19:56:12 +02:00
Andreas Haas
246dfc65ca
Fix crash on exit.
First it crashed in the thread that checks for android devices, then in the audio driver.
2017-04-10 19:51:07 +02:00
Rémi Verschelde
551e64728f .gitignore: Add app_icon.h and splash.h generated headers
Also sort alphabetically for clarity.
2017-04-10 18:34:45 +02:00
Andreas Haas
31a80ded89
Re-add ouya gamepad mapping.
Also adds yet another type of ps4 controller.
2017-04-10 16:35:12 +02:00
Rémi Verschelde
61a27601f7 Merge pull request #8341 from RameshRavone/master
Android: avoiding duplicates in build.gradle
2017-04-10 08:58:15 +02:00
Rémi Verschelde
5598040e43 Merge pull request #8339 from karroffel/gdnative-reload-fix
[GDNative] Didn't iterate over all scripts
2017-04-10 08:53:49 +02:00
Rémi Verschelde
8764659234 Merge pull request #8342 from volzhs/error-signal-dnd
Fix signal error when starting editor
2017-04-10 08:29:41 +02: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
volzhs
519c03e932 Fix signal error when starting editor
need to merge #8198 to work properly
2017-04-10 13:00:08 +09:00
Ramesh Ravone
f8309f86c2
Android: avoiding duplicates in build.gradle 2017-04-10 08:34:40 +05:30
Karroffel
0486645c39 [GDNative] Didn't iterate over all scripts 2017-04-10 04:30:08 +02:00
Juan Linietsky
1c480698ce -Fixed crash with splash screen on windows
-properly show editor without having to resize window on windows
2017-04-09 20:40:48 -03:00
Juan Linietsky
7ba71fb243 Restored (And auto-generated) splash image 2017-04-09 20:03:38 -03:00
Rémi Verschelde
d596946a45 Merge pull request #8271 from MattUV/master
Add methods to get and set bits of collision layers and masks for TileMaps (3.0)
2017-04-09 23:37:56 +02:00
Ramesh Ravone
93b417fe17 Android: Support to change minSdkVersion (#8313) 2017-04-09 23:35:34 +02:00
Juan Linietsky
fccf2816d4 -Fix eternal black screen on Windows
-Disabled warnings on windows, need to properly set up warnings
2017-04-09 17:59:17 -03:00
Rémi Verschelde
2cca9b0631 Merge pull request #8338 from karroffel/dlscript-gdnative-rename
renamed dlscript module to gdnative
2017-04-09 22:08:56 +02:00
Karroffel
c7f8b22ba0 renamed dlscript module to gdnative 2017-04-09 21:07:53 +02:00
Rémi Verschelde
0198d2e03c Merge pull request #8329 from touilleMan/dlscript-godot_get_global_constants
GlobalConstants support in DLScript & api.json
2017-04-09 19:40:54 +02:00
Emmanuel Leblond
b423529481
Change dlscript's godot_get_global_constants signature to return godot_dictionary 2017-04-09 19:04:10 +02:00
Rémi Verschelde
cd9e96c835 Merge pull request #8336 from RayKoopa/ignore_vs_folder
Ignore Visual Studio 2017 workspace folder

[ci skip]
2017-04-09 18:29:56 +02:00
Ray Koopa
ac6ef54500 Ignore .vs folder, fix .vscode comment 2017-04-09 17:50:46 +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
Rémi Verschelde
769bec26a7 Merge pull request #8321 from RandomShaper/zero-preprocess-particles2d
Allow zero preprocess time for Particles2D
2017-04-09 17:44:40 +02:00
Rémi Verschelde
d463b6e3d0 libpng: Update to upstream version 1.6.29 2017-04-09 15:47:25 +02:00
Rémi Verschelde
dd8655aac9 opus: Update to upstream version 1.1.4 2017-04-09 15:17:58 +02:00
Rémi Verschelde
fa2d5b91dc squish: Update to upstream version 1.15
Also fix clang-format pre-commit hook to ignore thirdparty files.
2017-04-09 15:03:39 +02:00
Rémi Verschelde
3fd10ff6f0 Style: Apply clang-format (3.9.1) to Obj-C++ files 2017-04-09 14:44:52 +02:00
Rémi Verschelde
a1a0f021ea Merge pull request #8332 from BastiaanOlij/format-mm
Formatting of mm files
2017-04-09 14:04:51 +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
BastiaanOlij
5c2ddb299b Formatting of mm files 2017-04-09 21:22:40 +10:00
Emmanuel Leblond
d48aabcec1
Add GlobalConstants entry to the dlscript's api.json generator 2017-04-09 11:47:53 +02:00
Rémi Verschelde
21727657ff Merge pull request #8319 from bojidar-bg/gdscript-inline-block-indent
Fixup #8123, seems like I forgot a few things
2017-04-09 11:24:44 +02:00
Andreas Haas
0029440955
Fix warning message when EditorPlugin script is not in tool mode. 2017-04-09 10:33:03 +02:00
Juan Linietsky
4286aef693 Particle system is complete. Rejoice! 2017-04-08 22:40:06 -03:00