Max Hilbrunner
d988d188ad
Merge pull request #18966 from chanon/new-debug-print
...
Add new debug print method that shows line number where the print came from
2018-07-04 23:50:45 +02:00
Max Hilbrunner
aad475937b
Merge pull request #19828 from jjay/fix_yield_leak
...
Fix memory leak in GDScript during infinnity loops with yields
2018-07-03 18:51:13 +02:00
Max Hilbrunner
5885e1c6dd
Merge pull request #18976 from chanon/new-get-stack
...
Add new get_stack function to get GDScript stack trace as array
2018-07-03 17:50:05 +02:00
Max Hilbrunner
0705eb904a
Merge pull request #19251 from YeldhamDev/script_templates_changes
...
Small changes to the comments in the script templates
2018-07-03 16:48:03 +02:00
Yasha Borevich
30317296af
Fix memory leak in GDScript during infinnity loops with yields
2018-06-28 23:55:30 +03:00
Marcin Zawiejski
317dcb084b
Fix onready vars / vars accessing class members if _ready / _init not present
2018-06-18 23:31:48 +02:00
Bojidar Marinov
8ecef3496c
Add proper type information to array property
...
Part of #19158
2018-06-18 22:24:31 +03:00
Paulb23
08c036b706
Removed duplicate default colours and removed GDScriptHighligher colours from main editor.
2018-06-13 18:25:02 +01:00
Rémi Verschelde
f0fa590210
Merge pull request #19526 from robojumper/fix_tutorials
...
Add support for tutorial links to makerst.py
2018-06-13 14:29:45 +02:00
robojumper
98b59cf2a3
Add support for tutorial links to makerst.py
...
Also change the <tutorials> structure to make use of individual <link> tags
2018-06-12 17:40:24 +02:00
Jairo Honorio
afcac41d31
Inner classes' functions now appear in the editor's functions panel
...
Fixes #19386
2018-06-12 10:43:37 -03:00
Michael Alexsander Silva Dias
fd17b960e9
Small changes to the comments in the script templates.
2018-06-11 02:04:51 -03:00
Rémi Verschelde
3334209a73
SCons: Pass env to modules can_build method
...
This allows to disable modules based on the environment,
in particular `env[tools]` which tells us if we are
building the editor or not.
2018-05-30 19:11:36 +02:00
Fabio Alessandrelli
8e35d937a9
New sync keywords in GDScript, NativeScript, Mono
2018-05-29 20:26:41 +02:00
Fabio Alessandrelli
1400f6fdc4
Refactor RPCMode enum and checks
2018-05-29 20:26:41 +02:00
Max Hilbrunner
4c69a495c9
Revert "RPCMode refactor, more sync modes"
2018-05-29 11:47:52 +02:00
Max Hilbrunner
d0b62ce155
Merge pull request #19021 from Faless/rpc_sync_fix
...
RPCMode refactor, more sync modes
2018-05-29 09:44:03 +02:00
George Marques
38284bc6da
Enable singletons to be recognized as constant expressions
...
Fix #14681
2018-05-28 13:40:16 -03:00
chanon
3ea6d9f37d
add new print_debug method which shows source and line number
2018-05-28 18:37:07 +07:00
Fabio Alessandrelli
a5e8a3be5e
New sync keywords in GDScript, NativeScript, Mono
2018-05-26 10:49:33 +02:00
Fabio Alessandrelli
9de4ffde61
Refactor RPCMode enum and checks
2018-05-26 10:43:43 +02:00
Max Hilbrunner
aee8d26252
Merge pull request #19131 from YeldhamDev/connection_comment_capitalize
...
Capitalized comments of methods created by the Connect Signal dialog
2018-05-24 01:21:17 +02:00
Michael Alexsander Silva Dias
4e257293d9
Capitalized comments of methods created by the Connect Signal dialog.
2018-05-23 18:11:00 -03:00
George Marques
3cec24baa8
Fix positive operator in GDScript compiler
2018-05-23 17:43:56 -03:00
chanon
a56d6ff35f
add new get_stack function to get GDScript stack trace as array
2018-05-17 21:06:30 +07:00
Rémi Verschelde
b0649d2718
Merge pull request #18405 from flashyincceo/gdscript-constants-help
...
Fix Ctrl+click on @GDScript constants
2018-05-17 09:36:55 +02:00
Juan Linietsky
47d4a011d8
Merge pull request #18545 from vnen/editor-autoload
...
Enable autoload in editor
2018-05-14 17:59:34 -03:00
Rémi Verschelde
919d802e66
Merge pull request #18183 from Paulb23/gdscript_highlighter_inital_changes
...
GDScript function definition and get_node shortcut syntax highlighting
2018-05-10 01:25:51 +02:00
Juan Linietsky
299d8a80ba
Merge pull request #16106 from poke1024/gdscript-lerp
...
GDScript: generalize lerp
2018-05-07 20:36:31 -03:00
Juan Linietsky
ff1e7cfbf4
Add is_instance_valid() method to GDScript, ending more than a decade of pain.
2018-05-07 17:30:03 -03:00
Max Hilbrunner
ffb6f8f1ca
Merge pull request #18406 from YeldhamDev/script_templates_period
...
Changed periods in the script templates
2018-05-04 11:20:16 +02:00
Rémi Verschelde
460e551ddf
Merge pull request #16418 from bojidar-bg/15961-gdscript-array-export
...
Allow exporting arrays of resources in GDScript
2018-05-03 21:19:15 +02:00
Michael Alexsander Silva Dias
093b069bf6
Changed periods in the script templates.
2018-05-02 11:42:09 -03:00
Rémi Verschelde
d33308921d
Merge pull request #18553 from bzztbomb/fix/stack_underflow_when_debuggin_in_release
...
Fix a crash when trying to run Godot debugger on a release build.
2018-05-02 10:48:45 +02:00
Rémi Verschelde
b0cf3628aa
Merge pull request #18452 from flashyincceo/enum-no-class
...
Fix enums without class name not opening docs page
2018-05-02 10:32:19 +02:00
Rémi Verschelde
fb917b5568
Merge pull request #18531 from KidRigger/issue5972
...
Adds keywords to autocomplete predictions.
2018-05-02 10:22:08 +02:00
Brian Richardson
9149b11973
Fix a crash when trying to run Godot debugger on a release build.
...
The GDScriptLanguage::enter_function is wrapped in #ifdef DEBUG but the exit_function is not, resulting in a stack underflow error.
2018-05-01 15:40:30 -07:00
Rémi Verschelde
de97339a2d
Merge pull request #18291 from akien-mga/coverity-uninitialized-scalar-var
...
Fix Coverity reports of uninitialized scalar variable
2018-05-01 19:14:07 +02:00
George Marques
decf178033
Enable autoload in editor
...
- Tool scripts will be executed and can be accessed by plugins.
- Other script languages can implement add/remove_named_global_constant
to make use of this functionality.
2018-05-01 11:44:08 -03:00
Peter Folkins
ccd986f53e
Fix enums without class name not opening docs page
2018-05-01 07:57:53 -05:00
Anish
6e32157a65
Adds keywords to autocomplete predictions.
...
Adds keywords to the autocomplete prediction in GDScript so
they are not replaced by irrelevant predictions.
Fixes : #5972
2018-05-01 11:48:16 +05:30
Peter Folkins
825d49dfe2
Fix Ctrl+click on @GDScript constants
2018-04-24 20:50:21 -05:00
Hugo Locurcio
1c419531a0
Change ".." punctuation for "..." in editor strings ( #16507 )
2018-04-22 19:36:01 +02:00
Paulb23
adeed58477
Added GDScript NodePath highlighting
2018-04-20 21:00:07 +01:00
Paulb23
4cd16f6ba9
Added GDScript function definition highlighting
2018-04-20 20:54:31 +01:00
Paulb23
28dfc7f915
GDScript highlighter now remembers previous state
2018-04-20 20:46:08 +01:00
Paulb23
c3d93edf3d
Exclude GDScriptSyntaxHighlighter from non-tool builds
2018-04-20 20:45:57 +01:00
Rémi Verschelde
bf7ca623a6
Fix Coverity reports of uninitialized scalar variable
...
Fixes most current reports on Coverity Scan of uninitialized scalar
variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html
These happen most of the time (in our code) when instanciating structs
without a constructor (or with an incomplete one), and later returning
the instance. This is sometimes intended though, as some parameters are
only used in some situations and should not be double-initialized for
performance reasons (e.g. `constant` in ShaderLanguage::Token).
2018-04-19 15:20:45 +02:00
Rémi Verschelde
36552c2c90
Merge pull request #18040 from Paulb23/color_region_cache
...
Fixed colour regions and added local colour region cache
2018-04-09 16:05:26 +02:00
Juan Linietsky
34e367597d
Merge pull request #16556 from aragar/master
...
For-in loop variable added to autocompletion
2018-04-08 17:25:01 -03:00
Paulb23
b571a29df5
Fixed color regions and added local color region cache
2018-04-07 14:14:19 +01:00
Paulb23
63c8d0f455
Renamed GDSyntaxHighlighter to GDScriptSyntaxHighlighter
2018-04-04 20:02:42 +01:00
Rémi Verschelde
5ede505f14
Merge pull request #17923 from Paulb23/add_abstract_syntax_highlighter
...
Abstracted the syntax highlighter from text edit.
2018-04-04 09:50:51 +02:00
Felix Yang
7d5a40c3e6
Ctrl+Clicking a enum now scrolls down to it in the docs.
2018-04-03 21:56:54 +02:00
Paulb23
f7c727e6c3
Abstracted the syntax highlighter from text edit
2018-04-02 12:41:44 +01:00
Hein-Pieter van Braam
aed2fedd16
Merge pull request #17291 from Warlaan/master
...
completed-signal for coroutines with more than one yield
2018-03-15 23:11:37 +01:00
Poommetee Ketson
01ec06d9ae
Fix script template on _ready
behavior
2018-03-15 18:38:53 +07:00
Lars Kokemohr
3dfef37628
completed-signal is emitted by all GDScriptFunctionStates of a coroutine now, allowing to yield for completion of a function with more than one yield inside.
2018-03-14 16:42:13 +01:00
x1212
d2dc8fd423
fix enum from preloaded script in export
...
without triggering unnecessary reloads and parsing.
2018-03-04 18:01:15 +01:00
Rémi Verschelde
3fa77b3172
doc: Remove status from hardcoded version string
...
It has no practical use case and just generates noise for each alpha, beta, etc.
2018-02-27 13:40:49 +01:00
anakimluke
bd3b958a25
Removed whitespaces around arguments of functions.
...
Functions automatically generated by conneting
signals via GUI put whitespaces around the
arguments of the generated function. This is
inconsistent with the style guide.
This commit fixes that.
(cherry picked from commit 370f84f41c
)
2018-02-24 01:34:26 +01:00
luz.paz
612ab4bbc6
Fix typos with codespell
...
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt`
Whitelist consists of:
```
ang
doubleclick
lod
nd
que
te
unselect
```
2018-02-21 19:46:06 +01:00
Rémi Verschelde
7455244866
Merge pull request #15852 from poke1024/color_hsv
...
Add Color.from_hsv()
2018-02-19 21:51:04 +01:00
Rémi Verschelde
43de4eb4d2
Merge pull request #15933 from x1212/fix_preload_in_exports
...
fix spurious error messages during autocomplete and validate
2018-02-19 21:46:26 +01:00
Rémi Verschelde
aeed774fef
Merge pull request #16173 from vnen/gdscript-arguments
...
Add argument count check for some GDScript functions
2018-02-19 21:35:53 +01:00
Rémi Verschelde
3c7a39b40c
doc: Update version string in header
2018-02-19 10:46:33 +01:00
x1212
48c9ed4545
fix spurious error messages during autocomplete and validate
...
_parse() caused resets on members like validating and
for_completion by calling clear().
2018-02-14 18:13:00 +01:00
Rémi Verschelde
11441e1556
Merge pull request #16176 from vnen/gdscript-default-args
...
Show default values in docs for GDScript built-in functions
2018-02-14 15:48:48 +01:00
Rado'sPC\aRaGaR
f97ebdcab3
For-in loop variable added to autocompletion
...
Fix for #16494
2018-02-11 11:29:30 +02:00
Bojidar Marinov
d855fdb451
Allow exporting arrays of resources in GDScript
...
Fixes #15961
2018-02-05 16:41:13 +02:00
Andreas Haas
95cfa9bf74
GDScriptParser: Remove debug prints.
2018-02-02 20:37:59 +01:00
George Marques
dca2ae78dd
Show default values in docs for GDScript built-in functions
2018-01-30 02:08:12 -02:00
George Marques
802d5c4c6c
Add argument count check for some GDScript functions
...
- Print functions have no check.
- Also remove extra apostrophe from the error report.
2018-01-30 01:32:08 -02:00
Bernhard Liebl
05a16549ef
GDScript: generalize lerp
2018-01-27 08:14:13 +01:00
Rémi Verschelde
f2e3825616
doc: Fix references to online tutorials after godotengine/godot-docs#1015
2018-01-25 09:03:59 +01:00
Rémi Verschelde
d516aab8fa
doc: Sync with current source
...
Also enhance RigidBody docs as per https://github.com/godotengine/godot-docs/pull/1018
and fix the version tag in all files (not really stable yet, but it makes no sense
to hardcode rc3 at this stage).
2018-01-25 08:50:56 +01:00
Bernhard Liebl
ec98e0b715
GDScript: always call ResourceLoader::load() in non-completion mode
2018-01-21 09:32:52 +01:00
Juan Linietsky
c58891ff4c
Allow shadowing class members with local variables in GDScript, closes #15896
2018-01-20 17:45:19 -03:00
Rémi Verschelde
0359fed313
Merge pull request #15849 from poke1024/preload-completion
...
GDScript: fix autocompletion for preload() (issue 15766)
2018-01-18 23:21:41 +01:00
Bernhard Liebl
67ae443c56
Suppress errors on autocompletion for preload()
2018-01-18 22:29:45 +01:00
Bernhard Liebl
be55171231
Add Color.from_hsv()
2018-01-18 22:13:00 +01:00
Rémi Verschelde
9f479f096c
Fix typos in code and docs with codespell
...
Using v1.11.0 from https://github.com/lucasdemarchi/codespell
2018-01-18 22:01:42 +01:00
Bernhard Liebl
ae4cd5b6da
GDScript: fix autocompletion for preload() (issue 15766)
2018-01-18 19:37:21 +01:00
Rémi Verschelde
6c46787749
doc: Replace some more "val" with "value" + sync
2018-01-17 10:43:23 +01:00
Chaosus
0c9312c6b8
Fixes for parameter names of builtin functions in visual scripts/core
2018-01-16 19:49:45 +03:00
Juan Linietsky
03475ba197
Filled tutorial field in most relevent classes.
...
Added tutorial display in doc.
2018-01-15 18:41:13 -03:00
Rémi Verschelde
e28cdc4654
doc: Update version string in XML
2018-01-13 11:43:42 +01:00
Bojidar Marinov
9b8e8b2220
Bind many more properties to scripts
...
Notable potentially breaking changes:
- PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL
- Some properties were renamed, and sometimes even shadowed by new ones
- New getter methods (some virtual) were added
2018-01-12 00:58:14 +02:00
Ignacio Etcheverry
5be356b72f
Mono: Implement stack info for errors and exceptions
2018-01-09 17:19:03 +01:00
Rémi Verschelde
e4213e66b2
Add missing copyright headers and fix formatting
...
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
Rémi Verschelde
3db1c6a6f5
Merge pull request #15089 from poke1024/funcref-warn
...
Warn about funcref creation
2018-01-03 11:03:03 +01:00
Rémi Verschelde
b50a9114b1
Update copyright statements to 2018
...
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Bernhard Liebl
29f7f48c42
Warn about funcref creation
2017-12-26 23:16:41 +01:00
Rémi Verschelde
8f25a2dc11
Cleanup some #if 0'd code
2017-12-17 15:40:24 +01:00
Rémi Verschelde
1b9c8daf7b
Merge pull request #12845 from remorse107/Array-Dictionary-Fix
...
Fix issue #11400 . Fixes issue with arrays and dictionary acting as static objects between different instances of objects.
2017-12-16 15:49:07 +01:00
Juan Linietsky
93a63a5e1a
GDScript files are converted to binary on export now.
2017-12-14 15:34:47 -03:00
Andreas Haas
0e624234da
Scons: Build modules in seperate env.
2017-12-13 15:46:35 +01:00
Bojidar Marinov
2c190b975e
Properly support nested ternary expressions
...
Fixes 14324.
2017-12-11 15:36:32 +02:00
Rémi Verschelde
a845411454
Style: Re-apply clang-format over recent invalid additions
2017-12-10 01:27:02 +01:00
George Marques
3d8dd7b327
Make GDScript parser raise error when exporting Object
2017-12-09 15:35:02 -02:00
Juan Linietsky
dcab01618a
Fixed is_playing funtion (was reporting wrong), closes #13928
...
Made error reporting to opcode_set in gdscript a bit clearer
2017-12-07 18:14:39 -03:00
Rémi Verschelde
13c2ff9320
Style: Apply new clang-format 5.0 style to all files
2017-12-07 08:02:00 +01:00
Rémi Verschelde
d5ca9e2f6f
Style: Apply clang-format again on all files
...
Fixes issues introduced by newer clang-format versions or commits
pushed directly without using the clang-format pre-commit hook.
2017-12-07 08:02:00 +01:00
Juan Linietsky
bc2e8d99e5
Made Vector::ptrw explicit for writing, compiler was sometimes using the wrong function,
...
leading to unnecesary copy on writes and reduced performance.
2017-11-25 00:09:40 -03:00
Rémi Verschelde
bc75fae579
doc: Update header version for 3.0-beta
2017-11-24 09:16:52 +01:00
pablotato
054a2ac579
Add cartesian to polar conversion functions
2017-11-20 23:34:40 +01:00
sanikoyes
fb801d4964
Allow to extends constant variable
2017-11-20 23:24:52 +01:00
Rémi Verschelde
6065b2d177
Merge pull request #11940 from GodotExplorer/debugger
...
Enhanced debugger for godot 3.0
2017-11-20 22:55:49 +01:00
Rémi Verschelde
7b5c447301
Merge pull request #12952 from bojidar-bg/12392-export-enums
...
Allow exporting enums from GDScript
2017-11-20 09:11:46 +01:00
Robert Morse
74872fd23e
Fix issue #11400 . Fixes issue with arrays and dictionary acting as static objects between different instances of objects.
2017-11-17 17:49:52 -06:00
Juan Linietsky
ebbe2bd572
Merge pull request #12930 from vnen/gdscrit-output-print
...
Make tool scripts print on the editor Output panel
2017-11-17 16:05:44 -03:00
Ferenc Arn
d28763a4c1
Rename Rect3 to AABB.
...
Fixes #12973 .
2017-11-17 11:01:41 -05:00
Bojidar Marinov
e4a36d0eda
Allow exporting enums from GDScript
...
Use as `export(E) ...`
Closes #12392
2017-11-17 14:33:36 +02:00
Geequlim
fab66af7e9
Move the remote scene tree to the scene tree dock.
...
Ignore all script constants in the global section of the breakpoint stack.
Check property size before send to avoid too large of data be sent.
Fix crash while clear the remote objects from the debugger.
2017-11-17 12:01:54 +08:00
geequlim
475cee9c0f
Abstract some method for script system
2017-11-17 09:20:32 +08:00
George Marques
1d12470a78
Add print_error function, akin to print_line
2017-11-16 21:56:57 -02:00
Rémi Verschelde
4cfc29611e
GDScript: Refactor "GD" class prefix to "GDScript"
2017-11-16 18:54:56 +01:00
Rémi Verschelde
3002130a6d
Merge pull request #12957 from bojidar-bg/12928-numeric-underscores
...
Allow underscores in GDScript numeric literals
2017-11-16 09:04:31 +01:00
Bojidar Marinov
443ce6fef2
Allow underscores in GDScript numeric literals
...
Closes #12928
2017-11-15 22:53:08 +02:00
Rémi Verschelde
677e95d8d1
doc: Make all module docs self-contained
2017-11-15 21:29:33 +01:00
Rémi Verschelde
e7701bb2de
doc: Rename "@Global Scope" to "@GlobalScope"
...
Spaces in filenames are evil.
2017-11-15 20:41:16 +01:00
Juan Linietsky
a5c3e3084a
When script changes, defer tree updating. Fixes #9704
2017-11-15 10:41:31 -03:00
Rémi Verschelde
61a693cf78
Merge pull request #12922 from eska014/engine-singletons
...
Singleton management changes
2017-11-14 20:44:55 +01:00
Leon Krause
9b7b46143d
Move singleton management from ProjectSettings to Engine
2017-11-14 15:15:13 +01:00
Michael Alexsander Silva Dias
3fac4ef336
Fixed signal connection dialog ignoring indentation settings when creating a function.
2017-11-13 17:45:13 -02:00
Rémi Verschelde
51ffd45202
Merge pull request #12627 from Goutte/feat-support-tau
...
Add support for TAU constant.
2017-11-12 21:11:39 +01:00
Goutte
91ca725f9b
Add support for the TAU constant. Fixes #12094 .
2017-11-12 13:32:35 +01:00
Paulb23
b835aec87b
Fixed help lookup not finding classes, issue 11867
2017-11-11 23:50:56 +00:00
Hein-Pieter van Braam
38ae49e574
Make sure we don't leak when an opcode is followed by itself
...
When compiling with GCC it is now possible for an opcode followed by
itself to never leave the scope it is currently in. This leads to a
situation where the dtor of a scope local variable isn't called which in
turn can lead to a memory leak.
By moving the goto outside of the scope of each opcode we guarantee that
all dtors have been called before the next opcode gets dispatched.
this fixes #12401
2017-11-09 17:57:43 +01:00
Bojidar Marinov
b7fd065f5c
Fix crash when guessing type of variable declared to itself
...
Fixes #10972
2017-11-08 22:17:08 +02:00
Rémi Verschelde
ea0e942617
Merge pull request #12035 from Chaosus/wrapfunc
...
Added new Wrap functions for numbers
2017-10-31 23:30:50 +01:00
Unknown
7683ff3e42
Fix get_node() and $ autocompletion when using single quotes
2017-10-30 21:58:32 +01:00
Jerome67000
2609cc9ef4
Removes Script::get_node_type()
...
used before GDScript, with squirrel apparently
2017-10-25 20:11:30 +02:00
Rémi Verschelde
847c55bcb1
Merge pull request #12365 from neikeq/p
...
Add ScriptLanguage::supports_builtin_mode and improve ScriptCreateDialog
2017-10-24 18:59:26 +02:00
Ignacio Etcheverry
e218a13a64
Add ScriptLanguage::supports_builtin_mode and improve ScriptCreateDialog
...
- Make ScriptCreateDialog disable the built-in script checked button if the language does not support it.
- ScriptLanguage's get_template and make_template now receive the script path as class name if the the script language does not have named classes.
2017-10-24 15:48:58 +02:00
jagt
822af935e3
fix editor crash when missing variable in pattern match dispatch
2017-10-24 13:07:21 +08:00
mhilbrunner
ba779c1c0c
Add _process(delta) to new script templates. Closes #11994 .
2017-10-22 21:07:34 +02:00
Chaosus
216a8aa643
Added new wrap functions
2017-10-13 11:10:45 +03:00
Ruslan Mustakov
61ddf52983
Add NIL_IS_VARIANT usage to few definitions
...
The missing usage flag led to GDNative API descriptions containting
arguments with "void" type.
2017-10-05 18:51:22 +07:00
Hein-Pieter van Braam
6c15c23889
Replace a OPCODE_BREAK with break in opcode 31
...
This was a mistake made in 520d84e
. There are no more other looping
structures left in this function.
2017-10-01 16:51:05 +02:00
Juan Linietsky
0a5799fb43
Properly allow completion on variable initializer arguments, closes #9359
2017-09-29 19:43:31 -03:00
Scayze
0722df4829
Fixed wrong break statement in GDFunction::call
2017-09-27 03:23:39 +02:00
Hein-Pieter van Braam
0a338a28d9
Remove several checks on DEBUG_RELEASE
...
These errors shouldn't be possible on a tested game. Remove the checks
on release. Shaves about 10% off of tight loops.
2017-09-25 18:29:18 +02:00
Hein-Pieter van Braam
520d84e042
Use computed goto to dispatch next opcode
...
On compulers that define __GNUC__ use computed goto to directly dispatch
the next instruction rather than going through another switch statement.
This saves a jump and some comparisons.
In tight loops this is is roughly 10% faster than the switch() method.
2017-09-25 18:29:13 +02: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
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
Hein-Pieter van Braam
60790c8c5a
Remove more GDScript runtime checks on release
...
As a preparation for other performance enhancements to GDScript:call()
start by removing more of the GDScript runtime checks on release.
This code has been tested with 2d/platformer, 3d/platformer,
3d/materials_test, and goltorus. No regressions were found.
2017-09-19 02:06:47 +02: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
William Taylor
8632408dbd
Changed/Added descriptions in @GDScript. Added examples. Fixed return types of two … ( #11146 )
...
Doc: Improved descriptions in GDScript docs
Added examples and fixed return types of two methods.
2017-09-12 15:00:29 +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