Commit graph

360 commits

Author SHA1 Message Date
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
6671c6bdc7 Added yield() signal smart autocompletion. 2016-08-06 22:11:03 -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
Bojidar Marinov
76ea995228
Fix #5891 by not expecting the script instance to be a GDInstance
It could be a placeholder instance as well
2016-08-05 13:44:12 +03:00
Juan Linietsky
6ed5d48d0c Concluded base visual scripting! can edit but not run though. 2016-08-04 00:05:35 -03:00
Juan Linietsky
cd25624667 More work on visual scripting.. 2016-08-03 22:07:03 -03:00
Juan Linietsky
d8af6330e5 More progress on visual script editing 2016-08-03 11:28:43 -03:00
Rémi Verschelde
e51f4725fe Fix translatable strings in VisualScript 2016-08-03 07:26:36 +02: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
eska
b80c42ef4e Document FuncRef, GDFunctionState, InstancePlaceholder, RID, World2D 2016-07-30 21:27:58 +02: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
f51a816253 Set proper line into operators when parsing GDScript, fixes #5822 2016-07-22 09:23:26 -03:00
Juan Linietsky
33cc480350 Fixed reloading of tool scripts within editor, they should work much better now, closes #3194 2016-07-20 22:37:48 -03:00
Juan Linietsky
5218f35b7f Forgot to clear signals on recompile, closes #5729 2016-07-17 13:49:59 -03:00
George Marques
8113ba8bef
Allow semicolon after 'pass' keyword 2016-07-10 12:20:53 -03:00
George Marques
4bf31b3f3d
Revert removing of function call in gd_parser
The function call was removed in #5538 because of the unused return value,
but the function itself has side effects and the absence of the call was
causing crashes.
2016-07-08 22:12:59 -03:00
Rémi Verschelde
b6ac91c0e6 Removed unused variables (first pass)
Fixes various gcc 5.4.0 warnings for -Wunused-variable and -Wunused-but-set-variable
2016-07-07 23:15:03 +02:00
Juan Linietsky
48959f0590 Merge pull request #5407 from RandomShaper/opt-self-indexing
Optimize member access with self
2016-07-01 12:25:26 -03:00
Juan Linietsky
e49b73e93a Only check for constants when parsing constants, should close #5497 2016-06-30 10:40:13 -03:00
Juan Linietsky
cf0fbe493f Ability to put constants in constant expressions, closes #5264 2016-06-29 22:17:55 -03:00
Juan Linietsky
36e754457f Warn instad of crashing when class instance is gone after yield. Closes #5247 , probably closes other yield related crashes 2016-06-29 21:06:16 -03:00
Juan Linietsky
3754f6cd75 Properly show the source:line even in inner clases, closes #3766 2016-06-28 11:49:57 -03:00
Juan Linietsky
cf6450043d Fix bug in inner class reference, closes #1411 2016-06-28 11:15:55 -03:00
Juan Linietsky
f4c6640827 Fixed bug related to resolving constants in a class, closes #1110 2016-06-28 11:02:53 -03:00
Juan Linietsky
565bb3afcc Fix extends issue, closes #4026 2016-06-28 10:44:38 -03:00
George Marques
dc2ec3140a
Fix cscript module syntax errors for MSVC compiler 2016-06-26 14:19:46 -03:00
Juan Linietsky
f31a6d26f1 missing files 2016-06-26 11:02:15 -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
Pedro J. Estébanez
d306b9bea5 Optimize member access with self
Let the compiler take the fast path when a member is superfluously accessed with `self.`.
2016-06-25 15:59:39 +02:00
Andreas Haas
c871cf6801 Add "bool" to GDScript reserverd keywords
Noticed that "bool" wasn't highlighted when used like `export(bool) var is_xy = false`
2016-06-24 17:47:19 +02:00
Juan Linietsky
95e3279d34 Properly report a valid error instead of reporting as a bug, closes #3841 2016-06-24 10:30:36 -03: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
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
1923733ec8 Merge pull request #5268 from brakhane/fix-floating-bug
correctly parse floats in scientific notation (Fix #5267)
2016-06-19 13:05:00 +02:00
Daniel J. Ramirez
422fac5066 Removed lots of prints 2016-06-18 18:01:06 -05:00
Rémi Verschelde
b7dbf9207a Drop empty files that are not used anywhere
Part of #5272
2016-06-18 19:46:30 +02: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
Dennis Brakhane
c246931f03 correctly parse floats in scientific notation
GDScript incorrectly parsed float values in scientific notation
when no decimal point was given. "1e-5" was parsed as "15".

Fix this by not requiring a decimal point when we found an exponent
for the number to be considered a float.

Fixes #5267
2016-06-18 13:20:45 +02:00
Geequlim
71245995a4 Add @GDScript.type_exists 2016-06-18 15:07:51 +08:00
Juan Linietsky
57c67fb0f7 reverted to ==, if a line is missing a statement, we'll have to make sure to add it 2016-06-17 21:57:46 -03:00
Juan Linietsky
dcd50f8838 changed == for >= since some statements may not store a line (if line is empty)
this is added to #5204
2016-06-17 21:19:09 -03:00
Juan Linietsky
3ddce309f4 Merge pull request #5204 from vnen/fix-completion-crash
Fix crash in code completion
2016-06-17 21:09:18 -03:00
Rémi Verschelde
7723579237 Fix type hint for the seed argument
Closes #5260.
2016-06-18 01:18:06 +02:00
George Marques
17b6cebcfe
Fix crash in code completion
Fix #4641
2016-06-13 22:19:39 -03:00
George Marques
7127f0943d Merge pull request #5139 from zaps166/init_navigation_pointer
GridMap: Initialize "navigation" pointer
2016-06-13 12:16:00 -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
4667f9e61e Changed how min/max icon size in ItemList works and replaced it by a fixed size. Fixes many issues, closes #4907 2016-06-12 16:52:22 -03:00
Juan Linietsky
ceeb5453a8 gdscript tokenizer will dislike use of case, closes #4991 2016-06-11 21:45:37 -03:00
Juan Linietsky
fea9511bc6 remove unnecesary found bug? print, closes #5028 2016-06-11 20:36:28 -03:00
Juan Linietsky
f860915ae0 Made many built-in gdscript functions return more descriptive errors, closes #5150 2016-06-11 19:43:38 -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
Błażej Szczygieł
3d931f3353 GridMap: Initialize "navigation" pointer 2016-06-10 12:47:38 +02:00
Juan Linietsky
f8f30662d9 -Ability to reload (and soft reload) tool scripts. Please test! 2016-06-08 20:00:52 -03:00
punto-
86253cbdfe Revert "Fix implicit GDScript Reference inheritance" 2016-06-06 23:40:50 -03:00
eska
3acbf8e71f Fix implicit GDScript Reference inheritance 2016-06-05 19:17:33 +02:00
George Marques
43dad78209
Fix Color8 constructor using wrong value range
Fix #5015
2016-06-03 14:59:40 -03:00
Juan Linietsky
cc0a7b24e7 missed ifdef that broke android build 2016-06-01 20:44:34 -03:00
Juan Linietsky
9e745b920f Ability to reload scripts on running game 2016-06-01 20:31:42 -03:00
Juan Linietsky
df139f57b3 Some cleanup to GDScript
separated GDFunction (VM) from GDScript in two different files
2016-05-31 22:33:43 -03: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
Ignacio Armenteros
7caabd9398 Fix #4748: proper call to base class function 2016-05-23 11:49:51 +02:00
Juan Linietsky
a75f896338 First version of Profiler
It is now possible to profile GDScript as well as some parts of Godot
internals.
2016-05-21 21:18:16 -03:00
Rémi Verschelde
b58e261d41 GDScript: Fix method info for is_nan and is_inf
As reported on https://godotengine.org/qa/4114/why-isnan-and-isinf-arent-implemented
2016-05-17 14:59:48 +02:00
Juan Linietsky
0c57a58056 ability to drag scenes from filesystem to tree for instancing 2016-05-11 20:57:52 -03:00
Rémi Verschelde
8259c46707 GridMap: Fix backwards rotate hotkeys (#4498)
Fixes #1237
2016-05-01 11:38:08 +02:00
Rémi Verschelde
c0ec7e933a Merge pull request #4302 from Anarchid/gridmap-navmesh
Navmesh support for GridMaps
2016-04-20 21:12:35 +02:00
Anarchid
b03a892f95 manually fix indent 2016-04-20 21:21:51 +03:00
Anarchid
73ca831848 Implement GridMap support for navigation meshes 2016-04-20 21:19:05 +03:00
Saracen
d643a40f95 Subclasses can now extend from other subclasses contained in scripts derived from relative paths. 2016-04-09 03:23:33 +01:00
Rémi Verschelde
2f12c2dd90 Merge pull request #4169 from slapin/ik
InverseKinematics node, basic features
2016-04-06 18:32:38 +02:00
Rémi Verschelde
0a5472e697 Remove trailing spaces 2016-04-02 20:26:12 +02:00
Sergey Lapin
eae5169dfd Now parameters can be changed real time 2016-03-31 12:44:35 +03:00
Sergey Lapin
e4fea5d5f9 Added speed setting 2016-03-31 12:44:25 +03:00
Sergey Lapin
8d7a94389a InverseKinematics node, basic features
I don't already know how the fuck it works, but it is.
A bit slow currently, but hope to improve it soon.

The current limitations:

1. No constraints. At all.
2. Used simplest CCD algorithm, I just can't believe
in jacobian construction from code.
3. Slow to get to target.
2016-03-31 12:43:00 +03:00
Hubert Jarosz
4a4f247914
remove trailing whitespace 2016-03-09 00:00:52 +01:00
Rémi Verschelde
002ff3cc9a Revert "Merge pull request #3814 from est31/iterators_for_for"
This reverts commit adf5056889, reversing
changes made to ee2bc87c0e.
2016-03-01 18:09:48 +01:00
Juan Linietsky
210d332def -wip on addon editor
-fixes instantiable subclasses not working, as reported in #3871
2016-02-29 09:57:38 -03:00
est31
5f66692395 Use xrange for common "for i in range(...)" use case
Make the parser eliminate a wasteful allocation and initialisation
of a possibly large array.
2016-02-28 22:47:48 +01:00
est31
f81153eb69 Add xrange builtin function
Also update classes.xml in order to document xrange
2016-02-28 22:47:48 +01:00
Juan Linietsky
6fc1c3a4d1 Completed the support for plugins! It is not possible to add plugins.
Not all APIs are provided yet, please request whathever you are missing.
Some example plugins are provided in demos/plugins. Just copy them to a folder in your project named addons/ and then enable them from the project settings.
Have fun!
2016-02-27 23:12:27 -03:00
Rémi Verschelde
c8071dfce8 Merge pull request #3812 from est31/master
Fix typo in error
2016-02-24 00:15:53 +01:00
est31
cea8e97c11 Fix typo in error 2016-02-24 00:08:53 +01:00
Juan Linietsky
70cdfa681a -Change link to new documentation
-fixed bug in tilemap collision debug
2016-02-20 10:02:14 -03:00
Rémi Verschelde
285c400288 Merge pull request #3658 from Hinsbart/doc_joyevent
doc: use correct identifiers for InputEventJoystick{Motion, Button}
2016-02-11 07:17:43 +01:00
hondres
6de2b9d864 doc: use correct identifier for InputEventJoystick{Motion, Button} 2016-02-10 23:37:25 +01:00
Juan Linietsky
61f03c98c8 -Added missing functions to the doc, fixes #3583 2016-02-09 16:58:03 -03:00
Rémi Verschelde
6ea0863ed3 Merge pull request #3587 from akien-mga/pr-reserved-keyords
Fix missing comma
2016-02-04 18:57:25 +01:00
Rémi Verschelde
ade7329625 Fix missing comma 2016-02-04 18:56:41 +01:00
George Marques
0f41a18344 Merge pull request #3582 from akien-mga/pr-reserved-keyords
Add preload and PI to GDScript reserved keywords
2016-02-04 14:52:44 -02:00
Rémi Verschelde
99d9188da8 Add preload and PI to GDScript reserved keywords
I've noticed that gd_tokenizer also has keywords for `switch' and `do', but they seem not to be supported actually (only used in commented code for the shader language), so I don't add them.
2016-02-04 10:26:10 +01:00
Rémi Verschelde
8151110002 Reorder reserved words by categories
They were previously kind of sorted with a mix between alphabetical and logical ordering, which made it hard to spot duplicates or missing words.
2016-02-04 10:17:23 +01:00
Juan Linietsky
817fd1ab71 -Added method flags to global constants for script
-Added a new flag METHOD_FLAG_FROM_SCRIPT to get_method_list() flag property. Closes #3489
2016-01-31 15:40:51 -03:00
Rémi Verschelde
7af864f467 Merge pull request #3445 from akien-mga/master
Add missing return for typeof() MethodInfo
2016-01-26 00:03:33 +01:00
Rémi Verschelde
e38b797c97 Add missing return for typeof() MethodInfo 2016-01-25 10:55:50 +01:00
hondres
56ce58d57c can preload constants 2016-01-24 23:45:11 +01:00
Juan Linietsky
de7fe2fced -remove unnecesary error report, fixes #3361 2016-01-23 15:36:03 -03:00
Franklin Sobrinho
0426806ebf Removed GDScript "function" keyword 2016-01-13 17:59:39 -03:00
Juan Linietsky
5fca2bd4bc Reworked how autoloads are load to make sure identifiers always exist, please check if this resolves bug #3156 2016-01-13 08:27:14 -03:00
Juan Linietsky
1a9c3a134d -Make Akien happy, fixes #3068
(seems I wrote all the code, then forgot to use the enum...)
2016-01-10 23:13:02 -03:00
Ignacio Etcheverry
d50e8d2bad Added missing onready token name 2016-01-07 18:59:37 +01:00
Juan Linietsky
cb39db0b02 Fixed bug with default arguments in gdscript, closes #2024 2016-01-03 21:11:11 -03:00
Juan Linietsky
23441ec867 Added var2bytes and bytes2var to convet any variable to bytes and back. Closes #2075 2016-01-02 21:07:03 -03:00
Juan Linietsky
1597082c85 -Ability to roll-back script-exported properties to their default value on the script, closes #2128 2016-01-02 20:17:31 -03:00
Juan Linietsky
61745855d0 PI is now a built-in constant, fixes #2134 2016-01-02 17:56:45 -03:00
Juan Linietsky
0e0a7c9494 -properly handle newline in \ (line continuation) in gdscript, fixes #2112
-also fix a small crash in export detection with scripts that include themselves
2016-01-02 13:56:58 -03:00
George Marques
5be9ff7b67 Update copyright to 2016 in headers 2016-01-01 11:50:53 -02:00
Juan Linietsky
64872ca811 small fixes to color8 2015-12-31 18:32:56 -03:00
Juan Linietsky
37f2222dd7 -Added Color8(r8,g8,b8,a8) function as well as .r8,.g8,.b8,.a8 members to Color, to deal with colors in the 0-255 range. Closes #2345 2015-12-31 18:26:49 -03:00
Juan Linietsky
ec3d17b4e2 force thread model to single-safe when running editor, fixes #2387 2015-12-31 16:24:27 -03:00
Juan Linietsky
b60a3e7202 -Changed var2str and str2var in GDScript to use VariantWriter and VariantParser
-It is now finally possible to parse back a variant from text!
2015-12-31 00:54:00 -03:00
Zher Huei Lee
61a1f596cc added missing null check
for p_func inside _parse_function
2015-12-30 01:02:31 +00:00
Zher Huei Lee
821351be04 added missing onready allocation for subclasses
Fixes #3158
2015-12-30 00:23:26 +00:00
reduz
7d2d1442f8 -add breakpoint statement to ease with debugging, closes #3165 2015-12-29 12:11:21 -03:00
reduz
99736e63e4 -fixed bug with some indent blocks not properly checked, fixes #2570
-added ability to do one-line blocks, such as:  if something: print("hello") , to be more python-like
2015-12-29 11:41:37 -03:00
reduz
f7b64a62d1 -renamed function get_relative_transform() to get_relative_transform_to_parent(), makes more sense
-fixed newly introduced bug in onready keyword, fixes #3155
2015-12-28 21:05:57 -03:00
reduz
30c12297dc - added 'onready' keyword to gdscript. Defers initialization of member variables until _ready() is run. 2015-12-28 19:32:51 -03:00
reduz
110de2ccac -Added proper code completion for singletons 2015-12-28 16:36:29 -03:00
reduz
e0d21d2158 Ability to set autoloads as singleton global variables 2015-12-28 15:59:20 -03:00
Rémi Verschelde
d4993b74fc Add missing argument names in GDScript bindings
All classes were reviewed apart from VisualServer for which no argument name is documented at all.
While doing this review, I found quite a few bugs that were fixed either in earlier commits or this one (mostly documentation bugs though, i.e. some arguments were listed at the wrong place).
2015-12-28 02:13:05 +01:00
Rémi Verschelde
9e9e4f96a2 Merge pull request #3051 from eska014/add-export-hints
Add GDScript export hints for named bit flags, exponential ranges and global filesystem
2015-12-14 17:40:57 +01:00
eska
897cf2140c Add GDScript export hint for named bit flags
Syntax: `export( int, FLAGS, "A Flag", "Another Flag" ) var flags`
2015-12-14 17:32:31 +01:00
Juan Linietsky
f2183a5e09 replaced :var by :Variant in documentation, fixes #2897 2015-12-14 08:28:01 -03:00
eska
ef0c05430c Add GDScript export hints for global filesystem and exponential ranges
- File in global filesystem: `String, FILE, GLOBAL, "*.png"`, tool scripts only
- Directory in global filesystem: `String, DIR, GLOBAL`, tool scripts only
- Exponential range: `float, EXP, 50, 150, 2`
2015-12-11 06:45:03 +01:00
Juan Linietsky
17927cb705 Merge pull request #2877 from eska014/remove-builtin-aliases
Remove unexpected GDScript aliases for built-in types
2015-12-08 17:09:22 -03:00
Juan Linietsky
200b7bb87c -Display on animation editor which keys are invalid and which tracks are unresolved
-Added a tool to clean up unresolved tracks and unused keys
2015-12-05 14:18:22 -03:00
Rémi Verschelde
3aa0d0e9fd Merge pull request #2938 from koalefant/master
Break into GDScript debugger when new() fails
2015-11-30 07:50:22 +01:00
koalefant
e52d211b61 GDScript: fixed highlighting of the next line when colon is missing 2015-11-29 23:45:28 +01:00
admix
b2508ca879 Break into GDScript debugger when new() fails 2015-11-29 17:02:52 +01:00
Franklin Sobrinho
69a6524adf Add script auto-completion for function parameters 2015-11-26 09:40:13 -03:00
eska
d1a75a6757 Remove unexpected GDScript built-in type aliases 2015-11-23 02:09:19 +01:00
Juan Linietsky
0c3386b2ed Merge pull request #2707 from akien-mga/master
Cosmetic fixes to SCons buildsystem
2015-11-18 19:43:28 -03:00
Juan Linietsky
e8435cc721 Merge pull request #2632 from firefly2442/duplicate-inherited-vars
remove child variable that is duplicated from parent class
2015-11-18 19:16:35 -03:00
eska
bbc42a159c Allow extending from Object in GDScript 2015-11-12 15:50:20 +01:00
Rémi Verschelde
399b1b0474 Cosmetic fixes to SCons buildsystem
- Removed trailing spaces
- Made sure all indentation is done using tabs (fixes #39)
- Potentially fixed an identation issue for openssl check
2015-11-01 20:53:26 +01:00
firefly2442
bb68dc5210 remove child variable that is duplicated from parent class 2015-10-18 21:45:27 -05:00
Juan Linietsky
474c72697d Merge pull request #2250 from PeaceSells50/AddedGridMapSettings
Added GridMap settings which allows the user to enter a pick distance.
2015-10-17 12:11:13 -03:00
Juan Linietsky
e1e04c1dd5 Merge pull request #2497 from vnen/fix-2490
Make dict2inst set internal members of instance
2015-10-17 10:11:11 -03:00
eska
eb9621624f Add GDScript export hint for real numbers with easing export(float, EASE) 2015-10-16 20:37:13 +02:00
eska
57b2c4b0c6 Add multiline string GDScript export hint export(String, MULTILINE) 2015-10-16 18:48:54 +02:00
eska
e18c1ba05b Revert "add flag and multiline hits in GDScript"
This reverts commit 7843ec6633.
2015-10-16 16:18:46 +02:00
George Marques
1d45c9a04c
Make dict2inst set internal members of instance
Fix #2490
2015-09-20 16:17:30 -03:00
Juan Linietsky
83d9a692be Ability to visually debug geometry visually:
-Visible 2D and 3D Shapes, Polygons, Tile collisions, etc.
-Visible Navmesh and Navpoly
-Visible collision contacts for 2D and 3D as a red point
-Customizable colors in project settings
2015-09-20 13:03:46 -03:00
crr0004
f34c3e249b Fixes editor freeze 2015-09-02 13:56:51 +10:00
Juan Linietsky
319cc7e3ae detect node and variable assignments in _ready, _init, etc for further code completion 2015-08-30 11:50:10 -03:00
Juan Linietsky
04cb3c9eb1 Ability to edit all kinds of arrays from the property editor.
Yes, I'm trying to convince you to test the alpha release by adding all these now :)
2015-08-25 20:45:51 -03:00