Hein-Pieter van Braam
e8611966de
Remove bounds check when resuming from yield.
...
The code would get a pointer to the beginning of the call_args by using
operator[] at the stack Vector. This does bound checking. When there are
no call_args this bound check fails and the error mentioned in #7796
gets triggered.
This bound check is actually not necessary as call_args just gets set to
NULL and never dereferenced. This new code will just unconditionally set
the pointer to the place where the call_args are if there are any. There
is no NULL check for call_args anywhere so this is safe.
Fixes #7796
2017-02-13 21:59:05 +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
530de920d4
Merge pull request #7723 from lonesurvivor/gdscript-range-fix
...
Fix parsing bug which causes range(variable) to crash the engine
2017-02-12 23:13:08 +01:00
Juan Linietsky
6f2e16306a
Several bugfixes, improving the import workflow
2017-02-06 00:38:39 -03:00
lonesurvivor
c71a6c6d71
Fix parsing bug which causes range(variable) to crash the engine
...
problem was a segmentation fault caused by trying to access Vector constants[0] which isn't there if op->arguments.size() is not bigger than one.
- the changed OR condition didn't make sense (always true), should be AND
- changes the "constant" variable to be false per default and gets set to true when there is actually something pushed to "constants"
2017-02-04 20:57:39 +01:00
Juan Linietsky
d2b2d6801f
Changed OGG Vorbis type to be imported, so it's possible to specify loop
2017-02-03 08:55:29 -03:00
Juan Linietsky
96de0141cc
Removed import/export system, will start new one from scratch.
2017-01-25 21:57:08 -03:00
Rémi Verschelde
5027799c13
Merge pull request #7583 from karroffel/wildcard
...
made _ a special token in GDScript
2017-01-23 07:55:11 +01:00
Juan Linietsky
0aa7242624
WIP new AudioServer, with buses, effects, etc.
2017-01-21 19:01:00 -03:00
karroffel
c24c739da5
made _ a special token in GDScript
2017-01-20 09:26:55 +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
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
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
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
James Mintram
dab73c701a
Compile error when duplicate key in dictionery literal #7034
2017-01-14 22:08:49 +01:00
Juan Linietsky
4261880c94
Merge pull request #6845 from karroffel/master
...
Adds pattern matching to GDScript
2017-01-14 17:08:10 -03:00
Juan Linietsky
7924f08a6a
Merge pull request #4918 from jjay/f/error_on_redefine
...
Redefine var results in an error
2017-01-14 17:07:08 -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
d9d77291bc
rename String.extension() -> String.get_extension() / String.basename() -> String.get_basename()
2017-01-14 00:51:09 -03:00
Juan Linietsky
a97551902e
rename Input.get_mouse_speed() to Input.get_last_mouse_speed()
2017-01-13 19:24:28 -03:00
Juan Linietsky
a2903fc51d
Must now register with set_transform_notify() to get NOTIFICATION_TRANSFORM_CHANGED
2017-01-12 20:35:46 -03:00
Juan Linietsky
da477b76a9
some class renames
...
TextureFrame -> TextureRect
Patch9Frame -> NinePatchRect
ColorFrame -> ColorRect
2017-01-12 18:28:12 -03:00
Juan Linietsky
6dd7d2c1f7
Implicit inheritance now defaults to Resource, will error for node scripts if extends not used.
2017-01-12 16:00:57 -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
Rémi Verschelde
42802ab9dc
Merge pull request #6930 from bojidar-bg/gdscript-export-array-hint
...
Allow typing hints for Array class (in GDScript and Inspector)
2017-01-11 14:46:38 +01: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
Karroffel
e781a7e07e
pattern matcher: Implemented backend
...
changed comments
2017-01-11 04:40:28 +01:00
Karroffel
d445f0639f
pattern matcher: Implemented transformations
2017-01-11 04:40:11 +01:00
Karroffel
f8a7c46273
pattern matching: implemented parser
2017-01-11 04:39:55 +01:00
Juan Linietsky
4338c90163
It is now possible to name layers of different kinds!
2017-01-10 22:20:57 -03:00
Juan Linietsky
80b733a33a
uses the global thread to protect the instacnes map in GDScript, closes #4615
2017-01-10 19:02:52 -03:00
Juan Linietsky
48097f6df3
Removed the set_child_rect() in AcceptDialog. AcceptDialog now works as a container!
2017-01-10 01:49:55 -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
Juan Linietsky
857c50db70
Removed Musepack, it's a pretty obsolete format nowadays.
2017-01-08 21:06:48 -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
Juan Linietsky
fa170cbc58
PopupMenu now emits both index_pressed and id_pressed instead of item_pressed, closes #3188
2017-01-08 18:18:54 -03:00
Juan Linietsky
547a57777b
renamed joystick to joypad everywhere around source code!
2017-01-08 17:06:33 -03:00
Juan Linietsky
8963ca3d17
Fix code completion for new getnode syntax
2017-01-08 03:01:52 -03: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