Juan Linietsky
3c857033df
Massive optimization to Variant::set_named/get_named. Should give a nice boost to GDScript.
2017-09-23 21:05:35 -03:00
Hein-Pieter van Braam
7b492e6a23
Implement operator != on Pool*Array types
...
These types previously had equality checks but not inequality checks.
Add these too.
This fixes #11466
2017-09-22 14:40:42 +02:00
Rémi Verschelde
be60689812
Merge pull request #11461 from hpvb/add-likely-macros
...
Implement Linux-style likely()/unlikely() macros
2017-09-22 09:15:45 +02:00
Ross Hadden
1a97d6455d
Fixed a bunch of typos, including an error code.
2017-09-21 23:58:29 -04:00
Hein-Pieter van Braam
22358babda
Implement Linux-style likely()/unlikely() macros
...
This implement branch prediction macros likely() and unlikely() like in
Linux. When using these macros please ensure that when you use them the
condition in the branch really is very, very likely or unlikely. Think
90+% of the time. Primarily useful for error checking. (And I implement
these macros for all our error checking macros now)
See this article for more information:
https://kernelnewbies.org/FAQ/LikelyUnlikely
There are more places where these macros may make sense in renderer and
physics engine. Placing them will come in another commit down the line.
2017-09-21 18:28:28 +02:00
Juan Linietsky
423ca9bcaf
Fix import order, so scenes are imported after textures.
...
Also fix bugs when meshes are always generated.
2017-09-20 21:04:20 -03:00
Cradmon
98f8e7df16
Refactor core/map.h to be similar to core/set.h
2017-09-20 23:57:18 +01:00
Juan Linietsky
71e4fae3a1
Merge pull request #11437 from hpvb/allow-compare-to-null
...
Allow equality checks between null and arbitrary types
2017-09-20 17:49:18 -03:00
Hein-Pieter van Braam
6565cf3360
Allow equality checks between null and arbitrary types
...
Uninitialzed values in GDScript are of type NIL so not allowing null
comparisons did end up breaking some code.
This commit reenables NULL equality checks for all types. We're going to
have to figure out how to make this fast for the compiler later.
2017-09-20 22:14:38 +02:00
Cradmon
0a1db473fb
Refactor core/set.h
2017-09-20 18:52:40 +01:00
Rémi Verschelde
e3617cb187
Merge pull request #11409 from MarufSarker/PR-core-math-is_nan
...
Verbose and Platform-specific implementation for is_nan
2017-09-20 14:29:01 +02:00
letheed
5ad9be4c24
Rename pos to position in user facing methods and variables
...
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:
* pos -> position
* rot -> rotation
* loc -> location
C++ variables are left as is.
2017-09-20 13:11:10 +02:00
ABU MD. MARUF SARKER
7744bb153f
verbose and platform specific implementation for is_nan
2017-09-20 08:20:08 +06:00
Rémi Verschelde
593511b2b8
Merge pull request #10748 from Cradmon/fixCoreSet
...
Refactor core/set.h
2017-09-19 23:47:39 +02:00
Rémi Verschelde
27fb329c82
Merge pull request #11208 from kitsune/hex-color-shortcuts
...
Adds 3 and 4 digit html shortcuts to Color
2017-09-19 23:33:25 +02:00
Rémi Verschelde
d58b0a5c9a
Merge pull request #11388 from hpvb/fix-missing-return-fail
...
Be type-strict checking on equality checks
2017-09-19 19:03:25 +02:00
Hein-Pieter van Braam
833c3917b2
Allow booleanization of all types
...
We now allow booleanization of all types. This means that empty versions
of all types now evaluate to false. So a Vector2(0,0), Dictionary(),
etc.
This allows you to write GDScript like:
if not Dictionary():
print("Empty dict")
Booleanization can now also no longer fail. There is no more valid flag,
this changes Variant and GDNative API.
2017-09-19 18:55:31 +02:00
Rémi Verschelde
67aa409f59
Merge pull request #11405 from karroffel/new-hashmap
...
added OAHashMap type
2017-09-19 16:57:58 +02:00
Karroffel
add040d381
added OAHashMap type
2017-09-19 16:48:53 +02:00
Hein-Pieter van Braam
85641c545b
Be type-strict checking on equality checks
...
After a short discussion with @reduz and @karroffel we decided to make
all non number/number comparisons return type errors on comparisons.
Now bool == bool is allowed but Vector2 == Vector3 is a type error and
no longer 'not equal'. The same has been done for the != operators.
In addition I forgot to add some failures to some Object operators
meaning that there was a potential for a crasher.
2017-09-19 16:00:19 +02:00
Rémi Verschelde
33e1716f13
Merge pull request #11402 from hpvb/remove-gdscript-checks-on-release
...
Various GDScript performance tweaks
2017-09-19 15:48:14 +02:00
Hein-Pieter van Braam
d05965963d
Don't call Variant::reference() unnecessarily
...
operator= does not need to call reference() if the new value is of the
same type as the old. This saves us zeroing the Variant, This speeds
up reuse of a Variant in a loop by roughly 50%.
2017-09-19 15:27:57 +02:00
Rémi Verschelde
ba4439c491
Merge pull request #11386 from kosz78/fix-msvc-compile-errors
...
Fix MSVC compilation errors
2017-09-19 14:58:19 +02:00
Hein-Pieter van Braam
36e8bee752
Fix accidental cast to Vector3 for Vector2 iter
2017-09-19 14:18:12 +02:00
Indah Sylvia
13b630eb0c
Fixed Typo: 'Seperate' to 'Separate'
2017-09-19 15:51:00 +07:00
Konstantin Zaitsev
c386a02654
Fix MSVC compilation errors
2017-09-19 10:33:07 +07:00
Hein-Pieter van Braam
137f8a58a8
Move Variant::evaluate() switch to computed goto
...
In an effort to make GDScript a little faster replace the double
switch() with a computed goto on compilers that set __GNUC__. For
compilers that don't support computed goto it will fall back to regular
switch/case statements.
In addition disable using boolean values in a mathematical context. Now
boolean values can only be compared with other booleans. Booleans will
also no longer be coerced to integers.
This PR replaces #11308 and fixes #11291
2017-09-17 22:49:23 +02:00
Marcelo Fernandez
3528b1e571
Fix x11 exported executables not getting the +x flag
2017-09-17 14:40:58 -03:00
Thomas Herzog
41715c1e8f
Merge pull request #11294 from karroffel/json-object
...
added JSON singleton
2017-09-17 16:31:27 +02:00
Rémi Verschelde
a1b4e4c607
Merge pull request #11272 from Rubonnek/move-to-initializer-list
...
Moved class_name and return_val to initializer list
2017-09-17 12:52:46 +02:00
Rémi Verschelde
2db9973ad4
Merge pull request #11176 from bncastle/master
...
Implement +,-,/, * and negate operators for Color type
2017-09-17 12:43:21 +02:00
Rémi Verschelde
6dd8dd935e
Merge pull request #11343 from BastiaanOlij/fix_basename
...
Fixed naming of pck file
2017-09-17 12:03:39 +02:00
Bastiaan Olij
913e5cabbd
Fixed naming of pck file
2017-09-17 11:59:56 +10:00
Poommetee Ketson
a9229d37c8
Merge pull request #11223 from GodotExplorer/pr-undoredo
...
Expose more methods for UndoRedo
2017-09-17 08:48:38 +07:00
bncastle
9d9cfc6f61
Implement +,-,/, * and negate operators for Color type.
2017-09-16 13:09:49 -04:00
Ignacio Etcheverry
f1f8fd1b68
Adds _OS::PowerState enum
2017-09-16 12:28:23 +02:00
karroffel
308d20aba5
added JSON singleton
...
There was no way to access JSON functionality in scripting languages
apart from GDScript because the JSON class wasn't exposed to ClassDB.
2017-09-15 15:40:27 +02:00
Thomas Herzog
7dffed485b
Merge pull request #11230 from maxim-sheronov/fix_enum_bindings
...
Fix enums bindings
2017-09-15 08:43:35 +02:00
Wilson E. Alvarez
0f4643a4f6
Moved class_name and return_val to initializer list
2017-09-14 12:54:37 -04:00
Ruslan Mustakov
f08bc0df7c
Construct Variants from Reference properly in GDNative
...
Previously godot_variant_new_object constructed Variant without
accounting for the fact that the Object can be a Reference, so refcount
was not increased and References were destructed prematurely.
Also, Reference::init_ref did not propagate refcount increment to the
script instance, which led to desync of refcount info on the script
side and Godot side.
2017-09-14 19:40:36 +07:00
Rémi Verschelde
ae4cd72e62
Drop unused EventQueue class
...
Thanks to @Marqin for the notice.
2017-09-13 20:56:23 +02:00
Maxim Sheronov
0fffa45158
Fix enums bindings
...
Add missed bindings for enums
Move some enums to class to have correct output of api.json
2017-09-13 20:57:07 +03:00
Marcelo Fernandez
83fe937362
Added a crash handler to dump the backtrace on Windows, Linux and OS X
2017-09-13 10:07:23 -03:00
Rémi Verschelde
42504ef0d4
Merge pull request #11062 from BastiaanOlij/osx_datapack
...
Fixed loading package from resource folder, exporting textures to bun…
2017-09-13 11:11:01 +02:00
Rémi Verschelde
e73e00d369
Style: Apply clang-format to @reduz's changes
...
[ci skip]
2017-09-13 09:13:34 +02:00
Geequlim
ae18b1f83f
Expose more methods for UndoRedo
2017-09-13 12:18:51 +08:00
Dylan Enloe
8bff891f3c
Adds 3 and 4 digit html shortcuts to Color
...
Color::html now expands 3 and 4 digit hex values into 6 and 8 digit
values by repeating each digit. This is to bring it in line with how
html handles these values
fixes #10997
2017-09-12 14:05:33 -07:00
Juan Linietsky
4f929a0fdf
Changed the doc class generation to individual files per class. It is also possible to save module files in module directories and the build system will
...
recognize them.
2017-09-12 17:45:41 -03:00
Cradmon
15fa2194a6
Refactor core/set.h
2017-09-12 14:10:35 +01:00
Rémi Verschelde
aebf4fb48c
Merge pull request #11106 from hpvb/documentation-fix-poolarrays
...
Correct the Pool*Array documentation
2017-09-12 15:02:22 +02:00
Rémi Verschelde
26017499a5
Merge pull request #11049 from scayze/astar_get_points
...
Add get_points() method to AStar
2017-09-12 14:07:06 +02:00
Rémi Verschelde
4f51211dfb
Merge pull request #11028 from mrawlingst/color-RGBA32
...
Change Color.to_32() to Color.to_rgba32() and lowercase other functions
2017-09-12 13:44:43 +02:00
Rémi Verschelde
aabbd00284
Merge pull request #10908 from hpvb/fix-unused-variables
...
Fix unused variable warnings
2017-09-12 12:55:53 +02:00
Rémi Verschelde
cf941fdc35
Merge pull request #11026 from hpvb/fix-assign-in-if
...
Remove assignment and declarations in if statements
2017-09-12 11:57:49 +02:00
Rémi Verschelde
2b50dc5d4f
Merge pull request #11057 from hpvb/fix-various-warnings
...
Fix various assorted warnings
2017-09-12 11:39:47 +02:00
Rémi Verschelde
8da1732013
Merge pull request #11044 from hpvb/fix-enum-as-bool
...
Fix using enum as bool value
2017-09-12 11:18:27 +02:00
Rémi Verschelde
dbb28559db
Merge pull request #11040 from hpvb/fix-enum-compare
...
Fix warnings comparing enums of different types
2017-09-12 11:17:28 +02:00
Rémi Verschelde
3941e01a57
Merge pull request #11041 from hpvb/fix-clang-format-error
...
Fix serveral recent new clang-format errors
[ci skip]
2017-09-12 11:16:36 +02:00
geequlim
20442d0a89
Add user data directory support for ProjectSettings::globalize_path
2017-09-10 16:33:54 +08:00
Hein-Pieter van Braam
daa66cd5c2
Correct the Pool*Array documentation
2017-09-09 16:39:22 +02:00
Hein-Pieter van Braam
b2a38854fd
Fix unused variable warnings
...
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-08 15:03:53 +02:00
Hein-Pieter van Braam
8230bf0a2f
Remove assignment and declarations in if statements
...
After discussing with @reduz and @akien-mga it was decided that we do
not allow assignments or declarations in if statements. This PR removes
the instances of this I could find by automated means.
2017-09-08 14:59:15 +02:00
Hein-Pieter van Braam
67a706fc1b
Fix various assorted warnings
...
Fix various warnings that don't have enough instances to merit
individual commits. Also fixes a potential bug in audio_server.cpp.
2017-09-08 14:57:48 +02:00
BastiaanOlij
099546ac00
Fixed loading package from resource folder, exporting textures to bundle and added a bit of feedback for a debug compile
2017-09-08 11:39:32 +10:00
Hein-Pieter van Braam
5e18967d77
Fix serveral recent new clang-format errors
2017-09-08 00:20:16 +02:00
Juan Linietsky
eedb39091a
Several fixes to directional shadows, closes #10926
...
Added option to change directional light range mode, between optimized and stable. For Orthogonal, you might need to use optimized.
2017-09-07 18:00:47 -03:00
mrawlingst
6aa5bc2347
Change Color.to_32() to to_rgba32() and format as RGBA
2017-09-07 16:19:44 -04:00
Scayze
6872cc7b12
Add get_points method to AStar
2017-09-07 19:15:46 +02:00
Hein-Pieter van Braam
6fb86dda8a
Fix using enum as bool value
...
This warning actually hid a bug. The value of ERR_INVALID_DATA is
actually 30, returning this as a bool returns true while false was
required.
2017-09-07 11:39:14 +02:00
Hein-Pieter van Braam
0b23a31b43
Fix warnings comparing enums of different types
...
This fixes a source of many compiler warnings regarding comparing the
enum VARIANT_TYPE to Variant::Type. This changes the local value to a
static const Variant::Type value rather than an unrelated enum, this
also saves us a cast.
2017-09-07 09:03:11 +02:00
Juan Linietsky
c771e03ee2
-Fixed changes to default input actions not working, closes #10502
...
-Added Array.duplicate() method, needed to fix above
2017-09-06 18:14:04 -03:00
Ignacio Etcheverry
96b205d2ed
Fixes ERR_EXPLAIN being overwritten
2017-09-06 04:43:07 +02:00
Thomas Herzog
dcdde2f5a9
Merge pull request #10993 from endragor/nativescript-property-order
...
Provide NativeScript properties in definition order
2017-09-05 11:47:51 +02:00
Ruslan Mustakov
269203a022
Provide NativeScript properties in definition order
2017-09-05 12:45:23 +07:00
Evgeny Zuev
a0bdb6e2f6
Optimize memory allocations in VariantParser::get_token
2017-09-05 11:04:33 +07:00
Evgeny Zuev
cae0059d5f
Add StringBuffer class
2017-09-05 11:04:11 +07:00
Rémi Verschelde
efa50fbdfd
Merge pull request #10975 from hpvb/remove-null-check-from-cast-to
...
Remove NULL check from Object::cast_to()
2017-09-05 00:14:35 +02:00
Thomas Herzog
84c33cfe6b
Merge pull request #10860 from karroffel/bob-the-string-builder
...
added StringBuilder class
2017-09-04 23:44:23 +02:00
Hein-Pieter van Braam
f8cb9f5516
Remove NULL check from Object::cast_to()
...
After discussing this with @reduz on IRC we agreed to remove these
checks. We now consider cast_to() to be NULL safe
2017-09-04 22:29:43 +02:00
Juan Linietsky
6d233c651b
-Changed KinematicBody API yet again to make it friendlier
...
-Fixed get_scale functions (and added set_scale) to make it more coherent when decomposing and composing (fixes bugs in transform interpolation)
2017-09-04 07:49:42 -03:00
Rémi Verschelde
b5d2d0a9a5
Merge pull request #10939 from neikeq/fix-overridden-external-editors
...
Fixes language overridden external editors
2017-09-04 08:12:29 +02:00
Ignacio Etcheverry
52a7be4eef
Fixes language overridden external editors
2017-09-03 21:23:36 +02:00
Juan Linietsky
ce28452109
-Fixed EditorDirDialog, which was really old and needed to use EditorFileSystem
...
-Fixed refactoring tools to work with imported scenes (properly move .import files)
2017-09-03 00:24:36 -03:00
Rémi Verschelde
53e7f55a89
Merge pull request #10903 from neikeq/fix-defval-order-definitely-i-promise
...
Fixes order of default arguments in MethodInfo
2017-09-03 01:38:30 +02:00
Ignacio Etcheverry
d1e00130e9
Fixes order of default arguments in MethodInfo
...
This time for real
2017-09-02 20:43:40 +02:00
Poommetee Ketson
459f526119
Fix typos 'a' and 'an'
2017-09-02 21:19:06 +07:00
Hein-Pieter van Braam
9c63ab99f0
Fix use of unitialized variables
...
The second in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-02 01:59:26 +02:00
Rémi Verschelde
dac150108a
Merge pull request #10846 from hpvb/fix-sign-compare
...
Fix signed and unsigned comparisons
2017-09-01 21:52:55 +02:00
Ignacio Etcheverry
6209b72b07
Merge pull request #10862 from neikeq/fix-defvals-methodinfo
...
Fixes reversed order of default arguments in MethodInfo
2017-09-01 21:19:58 +02:00
Karroffel
95a0886f93
added StringBuilder class
...
When doing large string concatenations the default push_back on the
String class can slow down things quite a bit. This is because it
has to constantly reallocate the memory and copy the contents. This
StringBuilder class delays the concatenation until the size of the
resulting string is known.
2017-09-01 19:52:32 +02:00
Ignacio Etcheverry
27ca7e7313
Fixes reversed order of default arguments in MethodInfo
2017-09-01 16:33:16 +02:00
Poommetee Ketson
ed606ded52
Fix files header
2017-09-01 21:07:55 +07:00
Rémi Verschelde
1e0fc4dc4e
Merge pull request #10318 from endragor/ordered-hash-map
...
Implement OrderedHashMap
2017-09-01 13:09:30 +02:00
Hein-Pieter van Braam
2ea5d33358
Has_method is already provided by Object
...
c812c17633
introduces some extra gdscript bindings for signal discovery
and adds a binding for has_method() to Script objects. This method is
already provided by the ancestor Object.
This fixes the startup message:
ERROR: bind_methodfi: Class Script already has a method has_method
At: core/class_db.cpp:1178.
2017-09-01 09:04:08 +02:00
Hein-Pieter van Braam
f9467ec1ea
Fix signed and unsigned comparisons
...
The first in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-01 08:13:12 +02:00
Juan Linietsky
d39e79e7ec
Fix issues regarding reload of resources in imported scenes. Closes #10017
2017-08-31 18:57:44 -03:00
Rémi Verschelde
f00760b22c
Merge pull request #10382 from toger5/dark_icons
...
Light Theme
2017-08-31 11:47:18 +02:00
toger5
426c6b2c49
added to_ABGR32() to core/Color
2017-08-30 21:20:01 +02:00
Ferenc Arn
5ad8d310f2
Add a new decomposition to Basis.
...
This new decomposition splits the basis into a rotation-reflection matrix and a positive scaling matrix, which is required for physics calculations.
2017-08-30 09:37:18 -04:00
Ferenc Arn
a0bbf5c9af
Remove Basis::set_scale and Basis::set_rotation_* functions.
...
Those functions were added in #8277 but they did more harm than good. They're subtle, don't do what people think and requires users to understand the non-uniqueness of polar decomposition. They ended up confusing people.
Until we store additional information enough to make a unique polar decomposition, these functions shouldn't be a part of Basis.
2017-08-29 21:47:59 -04:00